C#List <tuple <int,int,int>&gt;仅按元组T1排序

时间:2015-04-24 10:41:30

标签: c# linq list sorting

列表List<Tuple<int,int,int>>

如何仅将元组T1的第一个组件从最大数字到最小数字进行排序。

4 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

var orderedList = list.OrderByDescending(x=>x.Item1);

我们使用OrderByDescending方法按顺序从最大数字到最小数字,并传递lambda x=>x.Item1,我们声明排序将根据每个元组的第一项完成。

<强>更新

如果您希望立即执行上述声明而不使用延期执行 - 当其他人要求orderedList进行消费时,您应该尝试以下方法:< / p>

 var orderedList = list.OrderByDescending(x=>x.Item1).ToList();

答案 1 :(得分:1)

尝试将List.Sort与比较器一起使用,在本例中为Int32.CompareTo

var list = new List<Tuple<int,int,int>>();

list.Sort((x, y) => y.Item1.CompareTo(x.Item1));

答案 2 :(得分:0)

Linq很容易:

var list = new List<Tuple<int,int,int>>();

var ordered = list.OrderBy(t => t.Item1);

答案 3 :(得分:0)

您可以在对其进行排序时指定比较器。