List多字段排序,orderBy,ThenBy
List排序问题,orderBy,ThenBy
1.List中一个字段排序
前几天做的项目中,获取的List<T>需要用某个字段来进行排序,困扰了很久。用OrderBy解决了。具体是这样的。
List.OrderBy(i=>i.id):表示根据id来排序,默认是升序。
List.OrderByDescending(i=>i.name):根据name排序,降序排列。
2.List中两个字段排序:
写法如下,直接用例子:
List.OrderBy(i=>i.id).ThenBy(i=>i.name);表示先根据id排序,然后根据name排序。顺序是先前再后。根据自己需要些就好。
3.List中有多个字段的写法:
List.OrderBy(i=>id).ThenBy.(i=>i.name).ThenBy().ThenBy.....
如果要来将获取的数据取前多少条,用Take()方法。例如:前10条。Take(10);
List.OrderBy(i=>id).ThenBy.(i=>i.name).ThenBy().ThenBy.....Take(10);
多字段降序用ThenByDescending.
注意:好像不能这样写:List.OrderBy((i=>i.id) && (i=>i.name)). 这样写是不对的,因为lambda表达式不能使用“&&” 符号。
没有什么优雅的代码比空代码的执行效率更高