如何按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,谢谢,当我尝试更改类型时,我会尝试实现它:)
答案 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());