请告诉我如何对包含整数列表的List进行排序。
List<List<int>> numberLists = new List<List<int>>();
numberLists.Add(new List<int>() { 6, 8, 9 });
numberLists.Add(new List<int>() { 2, 4, 7 });
numberLists.Add(new List<int>() { 4, 7, 8 });
numberLists.Add(new List<int>() { 2, 3, 9 });
如何对上面的列表进行排序以获得以下结果?
2, 3, 9
2, 4, 7
4, 7, 8
6, 8, 9
提前谢谢!
答案 0 :(得分:0)
你可以这样做
var results = numberLists.OrderBy(x => x[0])
.ThenBy(x => x[1])
.ThenBy(x => x[2]);
foreach (var result in results)
{
foreach (var subresult in result)
{
Console.Write(subresult + " ");
}
Console.WriteLine();
}
<强>输出强>
2 3 9
2 4 7
4 7 8
6 8 9
其他结果
Enumerable.OrderBy Method (IEnumerable, Func)
按照a的升序对序列的元素进行排序 键。
Enumerable.ThenBy Method (IOrderedEnumerable, Func)
对序列中的元素进行后续排序 按键升序。
答案 1 :(得分:0)
您可以根据您的标准以简单的方式执行此操作
Sub CustomCopy()
Dim lastRow As Long
With Sheets("Sheet1")
'first we find last row in column A (in sheet1)
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
'now we copy until found row number and paste it to Sheet2 starting from cell A13
.Range("A1:A" & lastRow).Copy Sheets("Sheet2").Range("A13:A" & (lastRow + 12))
End With
End Sub
只需将其转换为字符串,然后比较为字符串