c# - 按多个字段订购列表 (C#)?

标签 c# list lambda sql-order-by

<分区>

我想在 C# 中按多个字段而不是一个字段对对象列表进行排序。例如,假设我有一个名为 X 的类,它有两个属性 A 和 B,并且我有以下对象,顺序如下:

object1 => A = "a", B = "h"
object2 => A = "a", B = "c"
object3 => A = "b", B = "x"
object4 => A = "b", B = "b"

我想先按 A 属性对列表进行排序,当它们相等时,按 B 元素排序,因此顺序为:

“a”“c”
“一个”“一个”
“乙” “乙”
“b”“x”

据我所知,OrderBy 方法按一个参数排序。

问题:如何按多个字段对 C# 列表进行排序?

最佳答案

使用ThenBy:

var orderedCustomers = Customer.OrderBy(c => c.LastName).ThenBy(c => c.FirstName)

参见 MSDN:http://msdn.microsoft.com/en-us/library/bb549422.aspx

关于c# - 按多个字段订购列表 (C#)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779375/

相关文章:

c# - 访问窗口资源中的命名元素

c# - 加密 app.config 后无法识别的属性 'configProtectionProvider'

c# - c#中相同值的多个访问器

java - Java 8 中函数类型全等 lambda 表达式的使用

c# - webdav WebClient.Upload (401) 未经授权

python - 按倒数第二个字符对字符串列表进行排序

python - 使用递归分解数量

python - 查找 : any one of the substrings (whichever first) stored in a list; in a bigger string in Python 的出现位置

arrays - Parallel.ForEach 不起作用,而正常的 For Each 循环是

java - 有什么办法可以规避 lambda 表达式的类型化?