在linq中排序方法有:

OrderBy()         --对某列升序排序

ThenBy()          --某列升序后对另一列后续升序排序

OrderByDescending()  --对某列降序排序

ThenByDescending()   --某列降序后对另一列后续降序排序

举例:

1.现在对集合AllSubjectList按字段column1升序排序后,再按照column2升序排序

<1. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).ToList().OrderBy(m=>m.column2).ToList();

<2. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).OrderBy(m=>m.column2).ToList();

如果你的vs装了resharper,第二个写法会提示(但不影响排序效果)

"multiple sequential 'OrderBy' invocation is meaningless. Possible 'ThenBy' means"

译为:多个顺序为基准进行排序的调用是没有意义的。可能“ThenBy”的意思,就是说第二个OrderBy可以改为ThenBy

<3. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).ThenBy(m=>m.column2).ToList();

2.现在对集合AllSubjectList按字段column1升序排序后,再按照column2降序排序

<1. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).ToList().OrderByDescending(m=>m.column2).ToList();

<2. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).OrderByDescending(m=>m.column2).ToList();

同样这里也会提示(但不影响排序效果)

"multiple sequential 'OrderBy' invocation is meaningless. Possible 'ThenByDescending' means"

[错误]<3. var lvThirdSubList =AllSubjectList.OrderBy(m => m.column1).ThenByDescending(m=>m.column2).ToList();

这种写法结果按照column1,column2升序排序,跟1.<1效果一样。ThenByDescending(ThenBy)不能这样用。

ThenBy只能跟在OrderBy后面,ThenByDescending只能跟在OrderByDescending后面。

linq 两个字段排序的更多相关文章

  1. List使用linq的OrderBy方法排序,并按照两个字段排序的写法

    SfaMember.GetList(searchInfo, 0, 1000, out Allcount).Where(item => item.bOpen == true).OrderBy(it ...

  2. SQL两个字段排序

    ORDER BY  后可加2个字段,用英文逗号隔开. 1.f1用升序, f2降序,sql该这样写: 1 ORDER BY  f1, f2  DESC 2.也可以这样写,更清楚: 1 ORDER BY  ...

  3. C# ObservableCollection两个字段排序的情况

    相对于System.Linq的OrderBy及OrderByDescending方法,调用后产生IOrderedEnumberable对象,这个对象为排序后的返回值,但原对象未发生变化. 试想,有这种 ...

  4. SQL order by 两个字段排序

    select * from emp;

  5. mysql order by 多个字段排序

    工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录. [1]复现问题场景 为了说明问题,模拟示例数据库表students,效果同实例. 如下语句Sql_1: SELECT ...

  6. List多字段排序,orderBy,ThenBy

    List排序问题,orderBy,ThenBy 1.List中一个字段排序 前几天做的项目中,获取的List<T>需要用某个字段来进行排序,困扰了很久.用OrderBy解决了.具体是这样的 ...

  7. mysql order by 多个字段排序实现组内排序

    总结:大组在前,小组在后,计量值再最后,即可实现组内排序:下边是参考别人的具体实例: 工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录. [1]复现问题场景 为了说明问 ...

  8. LINQ找出重复和不重复的元素及linq OrderBy 方法 两个字段同时排序有关问题

    //重复元素:3,4,5 //不重复元素:1,8,9 , , , , , , , , , , }; //不重复元素 var unique = arr.GroupBy(i => i) .Where ...

  9. LINQ 按多个字段排序(orderby、thenby、Take)

    LINQ 按多个字段排序(orderby.thenby.Take) orderby  子句解析为 OrderBy()方法,orderby descending 子句解析为OrderBy Descend ...

随机推荐

  1. HTTP状态码了解

    1xx   - - 消息 2xx   - - 成功 3xx   - - 重定向 4xx   - - 请求错误 5xx   - - 服务器错误 1xx-信息提示 这些状态代码表示临时的响应.客户端在收到 ...

  2. php 顺序线性表

    <?php /* * 线性顺序表 ,其是按照顺序在内存进行存储,出起始和结尾以外都是一一连接的(一般都是用一维数组的形式表现) * * GetElem: 返回线性表中第$index个数据元素 * ...

  3. arcgis10.0直连sde

  4. Qt 学习之路 2(10):对象模型

    Home / Qt 学习之路 2 / Qt 学习之路 2(10):对象模型 Qt 学习之路 2(10):对象模型  豆子  2012年9月2日  Qt 学习之路 2  45条评论 标准 C++ 对象模 ...

  5. A. Cinema Line

    A. Cinema Line time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  6. day_11 生成器

    . 生成器本身是迭代器 .写迭代器的方式 .生成器函数 .生成器表达式 .各种推导式 .生成器函数 函数内部有yield, yield返回->return yield把函数分段进行 生成器可以使 ...

  7. java/Android String.split 字符串分割

    特殊符号分割时需加[].如下图

  8. Go语言基础之21--反射

    一.变量介绍 1.1 变量的内在机制 A. 类型信息,这部分是元信息,是预先定义好的:比如:string.int等 B. 值类型,这部分是程序运行过程中,动态改变的:比如:是变量实例所存储的真是的值. ...

  9. 3.数据校验和SpringEL

    1.数据验证 数据验证不应该被限定在web层去处理,他应该在任何需要做数据验证的地方做验证: 基于以上考虑,Spring设计了一个既方便又可以在所有层使用的Validator接口 Spring提供了V ...

  10. aerospike(2)-java client

    地址:https://www.aerospike.com/download/client/java/4.3.1/ 例子顺序:https://github.com/aerospike/aerospike ...