如何排序List <list <uint32>&gt;根据列表<uint32> [0]编号C#中的ASC / DESC?</uint32> </list <uint32>

时间:2009-04-07 13:18:57

标签: c# list sorting uint32

如何按ASC顺序对此进行排序?

我得到了List<List<UInt32>>List<UInt32>的记录,我希望这些记录按照每个记录的第一列进行排序 - 该列是UInt32编号。

所以:

我有以下列表:

new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 1,1,1,1,1

应该排序为:

List<UInt32>: 1,1,1,1,1
List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 32,1,1,1,1,1

- &GT;只有第一个数字!其他对排序不重要。我正在寻找ASC的东西,但两者都很棒,所以当我认为算法应该改变时,我会查找它:)

感谢您的帮助!

@Samuel,谢谢,当我尝试更改类型时,我会尝试实现它:)

2 个答案:

答案 0 :(得分:5)

几乎重复:

How to sort List<List<string>> according to List<string> number of fields?

类似的东西:

var sorted = parent.OrderBy( l => l[0] );

或者:

parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )

答案 1 :(得分:3)

虽然John的回答有效,但我建议使用First()而不是访问列表中的0元素。这种方式适用于任何IEnumerable<T>,而不仅仅是IList<T>

var sorted = list.OrderBy(subList => subList.First());