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页的内容

原文地址:https://www.cnblogs.com/cjm123/p/8514517.html

时间: 2024-10-12 02:52:36

Linq 使用skip和take分页的相关文章

利用 LINQ的skip和Take 方法对List实现分页效果

1 var testList=new List<string>(); 2 var result=testList.Skip(pageSize * (pageNum - 1)).Take(pageSize); 3 //skip是跳过的条数,pageSize*(pageIndex-1),Take 是返回多少条数据,也就是pageSize!

linq,skip(),take实现分页

using (AdventureWorks2012Entities db = new AdventureWorks2012Entities()) { int num = (from stu in db.Customer orderby stu.CustomerID select stu).ToList().Count; for (int i = 0; i < num;i=i+100) { var students = (from stu in db.Customer orderby stu.Cu

转MongoDB 使用Skip和limit分页

关于MongoDB 数据分页和排序 limit,skip用户的一些基础语句,介绍MongoDB 数据分页和排序实例方法. 使用Skip和limit可以如下做数据分页: Code: page1 = db.things.find().limit(20) page2 = db.things.find().skip(20).limit(20) page3 = db.things.find().skip(40).limit(20) 备注:可用于分页,limit是pageSize,skip是第n-1页*pa

Linq语句与aspnetpager结合分页

public void DataBindList()        {            List<EnDeContent> listCon = null;            int pageSize = 10;            int pageIndex =0;            string key = txtKey.Text.Trim();            AspNetPager.RecordCount = db.EnDeContent.ToList().Coun

NHibernte 4.0.3版本中,使用Queryover().Where().OrderBy().Skip().Take()方法分页获取数据失败

问题代码如下: var result=repository.QueryOver<modal>() .Where(p=>p.Code==Code) .OrderBy(p=>p.ID).Asc .Skip(pageSize*(page-1)) .Take(pageSize).List() 当设置page=1,pageSize=10时,获取数据正常:当设置的page大于1时,获取不到任何数据:原因尚未找到. 解决办法:修改代码如下 var result= repository.Query

LinQ中Skip()方法和Take()方法的使用

其结果是: 原文地址:http://blog.51cto.com/11871779/2084283

LINQ分页和排序,skip和Take 用法

dbconn.BidRecord.OrderBy(p=>p.bid_id).ToList<BidRecord>().OrderBy(p => p.bid_id).Skip(skip).Take(take).ToList<BidRecord>(); 上面就是分页带排序的方法. 说一下问什么这样做 dbconn 是Modle的对象 BidRecord 是一个实体 P=〉p.bid_id 是排序的条件 OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据中在查询

分页之 skip(pageindex*(index-1).take(size).Tolist();

grdView.DataSource = Select().Skip(pageSize * (start - 1)).Take(rows).ToList();这个分页性能上并不高下面是我的分页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public static IList<T> PaginationDataSource<T>(IList<T> list, int pageIndex, int pageS

linq 分页

urList = (from u in urList                      orderby u.toolingNo_C                      select u).Skip(pageSize * (pageNum - 1)).Take(pageSize); OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据中在查询你要分页的数据,skip是在分页在前有多少条数据,也就是在当前页数据之前的数据总和,(跳过序列中指定数量的元素,然后返回剩余的元素