【发布时间】:2015-03-02 12:29:35
【问题描述】:
您好,感谢您阅读这篇文章。
我有一个这样创建的列表
List<Tuple<int, double>> Ratings = new List<Tuple<int, double>>();
假设列表的值如下
Index int double
[0] 1 4,5
[1] 4 1,0
[2] 3 5,0
[3] 2 2,5
如何对列表进行排序,以便最大的双精度值位于顶部?像这样
Index int double
[0] 3 5,0
[1] 1 4,5
[2] 2 2,5
[3] 4 1,0
【问题讨论】:
-
Ratings = Ratings.OrderByDescending(tuple => tuple.Item2).ToList()? -
如果可以接受创建新列表,您可以简单地使用
.OrderByDescending(x=>x.Item2).ToList()。 -
对于就地排序,您可以使用
list.Sort((x,y)=>Comparer<double>.Default.Compare(y.Item2,x.Item2));