This question already has an answer here:
Multiple Order By with LINQ [duplicate]

(1个答案)


6年前关闭。




我想按多个字段而不是仅按一个字段来订购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”
“a”“h”
“b”“b”
“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/

10-12 17:21