我有一个用C#编写的定制对象列表,我需要根据对象的多个属性对该列表进行排序.每个对象都有几个属性,我想先按PropertyA
按升序排列列表,然后按PropertyB
按降序排列列表.在C#中实现这一点的最有效、最干净的方法是什么?
谢谢!
我try 在LINQ中使用List.Sort()
和OrderBy()
,但同时按多个属性排序时遇到问题.有没有人可以提供一个代码示例或为我指明正确的方向,以有效地实现这种排序?
我有一个用C#编写的定制对象列表,我需要根据对象的多个属性对该列表进行排序.每个对象都有几个属性,我想先按PropertyA
按升序排列列表,然后按PropertyB
按降序排列列表.在C#中实现这一点的最有效、最干净的方法是什么?
谢谢!
我try 在LINQ中使用List.Sort()
和OrderBy()
,但同时按多个属性排序时遇到问题.有没有人可以提供一个代码示例或为我指明正确的方向,以有效地实现这种排序?
在LINQ中,您可以使用OrderBy(Descending)
后跟ThenBy(Descending)
.
按降序对序列中的元素执行后续排序.
以下内容:
var sorted = myCollection
.OrderBy(i => i.PropertyA)
.ThenByDescending(i => i.PropertyB)
.ToList();
将按PropertyA
(升序)然后按PropertyB
降序对集合进行排序,并将结果放入新列表中.