List多字段排序,orderBy,ThenBy

时间:2021-12-15 00:09:00

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表达式不能使用“&&” 符号。