我有一个列表<>像这样创建的int数组
List<uint[]> onMinterm = new List<uint[]>();
它有1000名成员。每个列表成员都有3个无符号整数,我就像那样添加我的数组
uint[] sayi= new uint[3];
sayi[0] = 34432; sayi[1] = 63533; sayi[2] = 12;
onMinterm.Add(sayi);
我想根据每个第3个成员(onMinterm
)对我的1000个列表(sayi[2]
)进行排序。列表将按降序排序。样本成员应该在最后,因为它的第3个值非常小,如12。
答案 0 :(得分:3)
我想根据每个第3个成员(
onMinterm
)对我的1000个列表(sayi[2]
)进行排序。列表将按降序排序。
如果你可以获得IOrderedEnumerable
,那么你可以这样做。
var ordered = onMinterm.OrderByDescending(x => x[2]);
如果您想进行就地排序:
onMinterm.Sort((x1, x2)=> x2[2].CompareTo(x1[2]));
答案 1 :(得分:1)
您可以对List&lt;&gt;进行排序到位。
class IntArrayComparer : IComparer<int[]>
{
public int Compare(T left, T right)
{
return right[2].CompareTo(left[2]);
}
}
myList.Sort(new IntArrayComparer());