在 C# 中对元组列表进行排序

spe*_*893 0 .net c# sorting list visual-studio-2013

在 C#.NET 上工作。我有这个清单:

List<Tuple<string, float>> sort = new List<Tuple<string, float>>();
Run Code Online (Sandbox Code Playgroud)

我想按浮点值对这个列表进行排序。例如,如果列表是这样的:

a,45
b,2
s,32
se,83.21
te,84
s3,9.5
f,7
Run Code Online (Sandbox Code Playgroud)

我希望它按降序排序,如下所示:

te,84
se,83.21   
a,45
s,32
s3,9.5
f,7
b,2
Run Code Online (Sandbox Code Playgroud)

Iva*_*oev 8

如果要对列表进行就地排序,可以使用SortComparison<T>参数的方法。

要按Tuple.Item2升序排序,您可以使用

sort.Sort((a, b) => a.Item2.CompareTo(b.Item2));
Run Code Online (Sandbox Code Playgroud)

要按降序排序,只需交换ab

sort.Sort((a, b) => b.Item2.CompareTo(a.Item2));
Run Code Online (Sandbox Code Playgroud)