• Linq 使用skip和take分页


     static int Main(string[] args)
            {
    
                //每页条数
                const int pageSize = 2;
    
                //页码 0就是第一条数据
                int pageNum = 0;
    
                string[] computer = { "苹果", "联想", "惠普", "Thinkpad", "三星", "VIVO", "OPPO", "华为", "小米", "微软", "神州", "IBM" };
    
                while (pageNum * pageSize < computer.Length)
                {
                    //分页skip,take方法
                    var page = computer.Skip(pageNum * pageSize).Take(pageSize);
    
                    Console.WriteLine("输出第{0}页记录", pageNum + 1);
    
                    //输出每页内容
                    foreach (var q in page)
                    {
                        Console.WriteLine(q);
                    }
                    pageNum++;
    
                }
    
                Console.ReadKey();
    
                return 0;  //如果是static void Main,则会报错
            }
    复制代码
    list = list.Skip(pageNum* pageSize).Take(pageSize).ToL
    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页的内容

    set.Where(filter).OrderBy(orderBy)
    .Skip(paging.PageSize * paging.PageIndex)
    .Take(paging.PageSize);
    先排序 在分页

  • 相关阅读:
    常用Linux命令:ls/cd/pwd/mkdir/rm/mv/cp
    设计模式(5)---代理模式
    设计模式(4)---装饰模式
    设计模式(3)---基本原则
    设计模式(2)---策略模式
    设计模式(1)---简单工厂模式
    linux系统硬件配置查看方法
    boost.asio系列(一)——deadline_timer
    ubuntu 安装JDK
    计算图像数据集的RGB均值
  • 原文地址:https://www.cnblogs.com/ztf20/p/9133208.html
Copyright © 2020-2023  润新知