【转载】C#中使用OrderBy和ThenBy等方法对List集合进行排序
在C#的List操作中,针对List对象集合的排序我们可以使用OrderBy、OrderByDescending、ThenBy、ThenByDescending等方法按照特定的对象属性进行排序,其中Orderby表示按指定的第一个属性升序排序,OrderByDescending表示按指定的第一个属性降序排序,如果排序需要使用到不止一个条件的时候,可先使用OrderBy或者OrderByDescending方法排序完成后,再在方法链中调用ThenBy或者ThenByDescending对第二个条件排序,ThenBy会进行升序排序,ThenByDescending则是进行降序排序。
例如一个订单的Order类的定义如下:
public class Order
{
public string DepCode { set; get; } public string DepName { set; get; } public decimal Amount { set; get; }
}
针对订单类的List集合orderList对象进行排序,排序规则为:先按科室编码DepCode升序排序,而后根据订单金额Amount进行降序排序。则相应的语句如下:
orderList = orderList.OrderBy(t => t.DepCode).ThenByDescending(t => t.Amount).ToList();
上述语句中t => t.DepCode的形式是Lambda表达式的写法,t代表orderList集合中的Order对象实体。
备注:原文转载自博主个人技术站点IT技术小趣屋,原文链接C#中使用OrderBy和ThenBy等方法对List集合进行排序_IT技术小趣屋。
博主个人技术交流群:960640092,博主微信公众号如下:

【转载】C#中使用OrderBy和ThenBy等方法对List集合进行排序的更多相关文章
- [转载]C#中播放背景音乐几种的方法
最经在写winform程序,其中有用到播放背景音乐 特此收集了一些网上的教程: 1.调用非托管的dll using System.Runtime.InteropServices; //DllImpor ...
- [转载]Winform中Control的Invoke与BeginInvoke方法
转自http://www.cppblog.com/baby-fly/archive/2010/04/01/111245.html 一.为什么 Control类提供了 Invoke和 BeginInvo ...
- Java中Json字符串转换为对象的方法(多层List集合)
借鉴自:http://www.jb51.net/article/91142.htm 在将json字符串转换成对象flightInfo时,当flightInfo对象中有List<flightCla ...
- 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take
Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...
- .NET:OrderBy和ThenBy
.NET中OrderBy和ThenBy的语义是不同的,如:list.OrderBy(x=>x.A).OrderBy(x=>x.B),那么最终只会根据B进行排序:list.OrderBy(x ...
- LINQ 按多个字段排序(orderby、thenby、Take)
LINQ 按多个字段排序(orderby.thenby.Take) orderby 子句解析为 OrderBy()方法,orderby descending 子句解析为OrderBy Descend ...
- Linq排序方式与Lambda排序方式比较以及OrderBy、ThenBy的使用
沿用之前某一篇文章的实体类与EF操作类代码.数据库中增加几条数据 Linq 的排序方式,下面例子是根据RoleId 升序,Name降序 EFContext<Member> efMember ...
- List多字段排序,orderBy,ThenBy
List排序问题,orderBy,ThenBy 1.List中一个字段排序 前几天做的项目中,获取的List<T>需要用某个字段来进行排序,困扰了很久.用OrderBy解决了.具体是这样的 ...
- Shell脚本中判断输入参数个数的方法投稿:junjie 字体:[增加 减小] 类型:转载
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数 ...
随机推荐
- PHP 对象接口
对象接口 (interface) 使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容. 接口是通过 interface 关键字来定义的,就像定义一个标准的类 ...
- Vscode 调试 Flutter 项目
1.Vscode 中打开 flutter 项目进行开发 2.运行 Flutter 项目 flutter run r 键:点击后热加载,也就算是重新加载吧. p 键:显示网格,这个可以很好的掌握布局情况 ...
- android studio 把 ionic 打包时修改应用名称、修改应用图标、修改启动画面,升级打包
在项目中resources中替换成自己的图标和启动画面即可 在config.xml 修改包名 打正式包和升级打包同原生的类似,在Androidmanifest.xml修改版本号和版本名
- 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习
论文http://202.119.32.195/cache/10/03/cs.nju.edu.cn/da2d9bef3c4fd7d2d8c33947231d9708/tkdd11.pdf 1. INT ...
- boost写的异步客户端样例代码修改为支持断开重连的代码
考虑到boost的工业级强度,因此就直接用了,代码的官方示例地址:https://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/examples/ ...
- Laya的调试,调试面板,断点调试
参考: 性能统计面板介绍 版本2.1.1.1 调试面板 Laya有两个调试选项,编辑模式F9. 第一个调试模式,除了调试面板,还有一个查看当前舞台对象的面板.类似白鹭的Egret Inspector. ...
- 用python画 pareto front
用python画 pareto front 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2D pf import os import matplotlib.pyplot as plt im ...
- 转 移动云基于MySQL Galera的PXC运维实战
##sample 1 : mysql 监控 1.phpadmin 比较简单,适合上手 2.mysql_web python 写的, https://github.com/ycg/mysql_web/ ...
- response.getWriter().write的用法
/** * 获取手机验证码的方法 */ var loopObjBindMobil = null; var secondsBindMobil = 0; function hqBindYzm(moblie ...
- LeetCode_345. Reverse Vowels of a String
345. Reverse Vowels of a String Easy Write a function that takes a string as input and reverse only ...