我想在C#中的對象列表中的許多字段,而不僅僅是一個。例如,假設我有一個名爲X的類,它具有兩個屬性A和B,並且我按以下順序具有以下對象:許多字段排序列表(C#)?
object1 => A =「a」,B =「h」
Object2的=> A = 「一」,b = 「C」
object3 => A = 「b」,b = 「X」
object4 => A = 「b」,b = 「b」 的
我想先按A屬性排序,當它們是等於時,按B元素排序,因此排序爲:
「a」「c」
「a」「h」
「b」 的 「B」
「B」 的 「x」
據我所知,通過一個參數的排序依據方法順序。
問題:如何通過多個字段排列C#列表?
非常感謝您
這沒有命令他們爲我?我錯過了什麼?docs.OrderBy(o => o.AcctNum) 。ThenBy(o => o.DocDate); – 2016-11-28 19:07:49
您可能正在使用較舊的.net。檢查這個答案:http://stackoverflow.com/questions/289010/c-sharp-list-sort-by-x-then-y/289040#289040。 – 2016-12-01 15:32:17
後人:OrderBy不會對原始集合進行排序,它會返回一個IOrderedEnumerable,因此您需要將OrderBy的結果分配給一個變量。例如customers = customers.OrderBy(c => c.Surname).ThenBy(c.Forename).ToList(); –
CptCoathanger
2017-05-31 10:59:20