• Linq:使用Take和Skip实现分页


    Skip,Take:

    list = list.Skip(pageNum * pageSize).Take(pageSize).ToList();

    pageSize :表示一页多少条。

    pageNum:表示页数,但是正确的页数是pageNum + 1。因为pageNum = 0,是第一页。pageNum = 1的时候,是第二页。

    Skip :表示从第pageNum * pageSize + 1条数据开始,也就是说再这之前有pageNum * pageSize条数据。

    Take:表示显示多少条数据,也就是pageSize条。

    list = list.Skip(5 * 2).Take(2).ToList();

    pageNum * pageSize = 10,那么之前已经有10条数据。从第11条数据开始查询。查询2条。这就是第6页显示的内容。

    C#控制台程序代码:

    复制代码
      class Program   
      {   
          static int Main()   
          {   
              //每页条数   
              const int pageSize = 2;   
              //页码 0也就是第一条 
              int pageNum = 0;   
       
              //源数据   
              string[] names = { "刘一","陈二","张三","李四","王五","赵六","孙七","周八","吴九" };
           
              while (pageNum * pageSize < names.Length)   
              {   
                  //分页   
                  var query = names.Skip(pageNum * pageSize).Take(pageSize);   
                  Console.WriteLine("输出第{0}页记录", pageNum + 1);   
                  //输出每页内容   
                  foreach (var q in query)   
                  {   
                      Console.WriteLine(q);   
                  }   
                  pageNum++;   
              }   
       
              Console.ReadKey();   
       
              return 0;   
          }   
      }  
    复制代码

    结果:

  • 相关阅读:
    hdu2084 DP
    hdu 2080 夹角有多大(弧度制)
    hdu2078复习时间
    hdu2077
    hdu 2051
    hdu 2050
    hdu 5514Frogs
    ARM指令
    ARM寄存器
    树莓派ARM汇编
  • 原文地址:https://www.cnblogs.com/yuesebote/p/8364946.html
Copyright © 2020-2023  润新知