linq to list进行排序
2016-03-23 00:00
288 查看
第二种方法:linq to list进行排序
运用linq实现对list排序,在实体类定义的时候就不需用实现IComparable接口,调用方式如下:
urList = (from u in urList
orderby u.toolingNo_C
select u).Skip(pageSize * (pageNum - 1)).Take(pageSize);
OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据中在查询你要分页的数据,skip是在分页在前有多少条数据,也就是在当前页数据之前的数据总和,(跳过序列中指定数量的元素,然后返回剩余的元素。)pageSize*(pageIndex-1),Take 是返回多少条数据,也就是pageSize!
很多学习Linq的朋友肯定有自己所不同的方法,考虑这个问题我所想到的是
用Take(),Skip(),TakeWhile(),SkipUntil()中的方法来实现
首先看Take()是否可用
Take方法的作用是从结果中取固定数量的值,
MydbDataContext mydb=new MydbDataContext("server=.;database=mydb");
var query=from p in mydb.Products
orderby p.id descending
select p;//取出Products中所用的项按降序排列
如果直接用take()
var q=query.take(n) 这样只能取出前条n记录,但是还是让我们看到了分页的曙光,还是还有个skip吗,skip可以取出除去满足条件的剩下的记录。如果我们要把数据以每页pagesize的数量来进行分页,很简单,很skip(pagersize*pagenum)然后在剩下的记录中take(pagesize)不就得到了想要的数据了么。
varq=query.skip(pagesize*pagenum).take(pagesize) 就这么简单。
运用linq实现对list排序,在实体类定义的时候就不需用实现IComparable接口,调用方式如下:
private static void ReadT(string str) { List<Info> infoList = new List<Info>(); infoList.Add( new Info() { Id = 1, Name = "woft" }); infoList.Add(new Info() { Id=3,Name="rose"}); infoList.Add(new Info() { Id = 2, Name = "abc" }); Console.WriteLine("ReadT*********************"); IEnumerable<Info> query = null; query = from items in infoList orderby items.Id select items; foreach (var item in query) { Console.WriteLine(item.Id+":"+item.Name); } }
urList = (from u in urList
orderby u.toolingNo_C
select u).Skip(pageSize * (pageNum - 1)).Take(pageSize);
OrderBy 是排序(后面是条件)然后要查询所有的,在所有的数据中在查询你要分页的数据,skip是在分页在前有多少条数据,也就是在当前页数据之前的数据总和,(跳过序列中指定数量的元素,然后返回剩余的元素。)pageSize*(pageIndex-1),Take 是返回多少条数据,也就是pageSize!
很多学习Linq的朋友肯定有自己所不同的方法,考虑这个问题我所想到的是
用Take(),Skip(),TakeWhile(),SkipUntil()中的方法来实现
首先看Take()是否可用
Take方法的作用是从结果中取固定数量的值,
MydbDataContext mydb=new MydbDataContext("server=.;database=mydb");
var query=from p in mydb.Products
orderby p.id descending
select p;//取出Products中所用的项按降序排列
如果直接用take()
var q=query.take(n) 这样只能取出前条n记录,但是还是让我们看到了分页的曙光,还是还有个skip吗,skip可以取出除去满足条件的剩下的记录。如果我们要把数据以每页pagesize的数量来进行分页,很简单,很skip(pagersize*pagenum)然后在剩下的记录中take(pagesize)不就得到了想要的数据了么。
varq=query.skip(pagesize*pagenum).take(pagesize) 就这么简单。
相关文章推荐
- 重新安装 ROS 的过程
- 本公司求购一套进销存系统(java版)
- equals与”==”的区别
- 接口和抽象的区别理解
- Spring的IOC和AOP
- Hello World!
- 【机器学习】最近邻策略:k-means和KNN
- 一个图理解Appium的设计原理
- JS判断图片是否加载完成
- 前端不为人知的一面–前端冷知识集锦
- 日常整理的一些网址,希望对大家有所帮助
- event对象节点中的对象
- Android BottomNavigationBar底部导航控制器的使用
- Java基础复习-----集合Vector
- Java基础-----集合工具类Collections
- Canvas 之非零环绕原则
- MySQL数据库的基本操作
- 面试常见算法1:有序数组去重
- C语言 数据结构与算法 线性表
- android studio 编译问题app:dexH5Debug