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#列表?
(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