查看: 1338|回复: 0

[.NET开发] Linq 使用skip和take分页

发表于 2018-3-22 08:00:01
  1.      static int Main(string[] args)
  2. {
  3. //每页条数
  4. const int pageSize = 2;
  5. //页码 0就是第一条数据
  6. int pageNum = 0;
  7. string[] computer = { "苹果", "联想", "惠普", "Thinkpad", "三星", "VIVO", "OPPO", "华为", "小米", "微软", "神州", "IBM" };
  8. while (pageNum * pageSize < computer.Length)
  9. {
  10. //分页skip,take方法
  11. var page = computer.Skip(pageNum * pageSize).Take(pageSize);
  12. Console.WriteLine("输出第{0}页记录", pageNum + 1);
  13. //输出每页内容
  14. foreach (var q in page)
  15. {
  16. Console.WriteLine(q);
  17. }
  18. pageNum++;
  19. }
  20. Console.ReadKey();
  21. return 0; //如果是static void Main,则会报错
  22. }
复制代码

  1. list = list.Skip(pageNum* pageSize).Take(pageSize).ToL
  2. list = list.Skip(2 * 2).Take(2).ToList();
复制代码

pageSize:表示每页有多少条数据
pageNum:表示页数,正确表达式pageNum+1。pageNum=0,是第一页。pageNum=1,是第二页。
Skip:表示从pageNum* pageSize+1条开始算,原来就有pageNum* pageSize条数据
Take:等于pageSize的值,也可以直接用int类型表示

pageNum* pageSize=4,前面有4条数据,从第5条开始,显示第3页的内容



回复

使用道具 举报