Linq笔记:使用Take和Skip实现分页

2020年3月20日17:59:41 8 45 981字阅读3分16秒

介绍

在C#后端想快速分页可以使用“Skip”和“Take

  1. //pageSize :表示一页多少条。
  2. //pageNum:表示页数,但是正确的页数是pageNum + 1。因为pageNum = 0,是第一页。pageNum = 1的时候,是第二页。
  3. //Skip :表示从第pageNum * pageSize + 1条数据开始,也就是说再这之前有pageNum * pageSize条数据。
  4. //Take:表示显示多少条数据,也就是pageSize条。
  5. var list = list.Skip(pageNum * pageSize).Take(pageSize).ToList();

线上实例效果

demo实例代码

  1. class Program
  2.   {
  3.       static int Main()
  4.       {
  5.           //每页条数   
  6.           const int pageSize = 2;
  7.           //页码 0也就是第一条 
  8.           int pageNum = 0;
  9.           //源数据   
  10.           string[] names = { "刘一","陈二","张三","李四","王五","赵六","孙七","周八","吴九" };
  11.           while (pageNum * pageSize < names.Length)
  12.           {
  13.               //分页   
  14.               var query = names.Skip(pageNum * pageSize).Take(pageSize);
  15.               Console.WriteLine("输出第{0}页记录", pageNum + 1);
  16.               //输出每页内容   
  17.               foreach (var q in query)
  18.               {
  19.                   Console.WriteLine(q);
  20.               }
  21.               pageNum++;
  22.           }
  23.           Console.ReadKey();
  24.           return 0;
  25.       }
  26.   }
继续阅读
weinxin
微信公众号
博客微信公众号,欢迎关注。
avatar
  • 本文由 发表于 2020年3月20日17:59:41
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接。
硅云免费虚拟主机
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:8   其中:访客  6   博主  2
    • avatar 叶先生博客 4

      看你好像有很多美化都给关了

      • avatar 风也 2

        :wink: 不是学C#的