使用Sort方法对KeyValuePairs集合进行排序。
首先,设置集合-
var myList = new List<KeyValuePair<int, int>>(); //添加元素 myList.Add(new KeyValuePair<int, int>(1, 20)); myList.Add(new KeyValuePair<int, int>(2, 15)); myList.Add(new KeyValuePair<int, int>(3, 35)); myList.Add(new KeyValuePair<int, int>(4, 50)); myList.Add(new KeyValuePair<int, int>(5, 25));
要排序,请使用Sort()方法。至此,我们已经使用该CompareTo()方法比较值-
myList.Sort((x, y) => (y.Value.CompareTo(x.Value)));
以下是完整的代码-
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var myList = new List<KeyValuePair<int, int>>();
//添加元素
myList.Add(new KeyValuePair<int, int>(1, 20));
myList.Add(new KeyValuePair<int, int>(2, 15));
myList.Add(new KeyValuePair<int, int>(3, 35));
myList.Add(new KeyValuePair<int, int>(4, 50));
myList.Add(new KeyValuePair<int, int>(5, 25));
Console.WriteLine("Unsorted List...");
foreach (var val in myList) {
Console.WriteLine(val);
}
//排序值
myList.Sort((x, y) => (y.Value.CompareTo(x.Value)));
Console.WriteLine("Sorted List...");
foreach (var val in myList) {
Console.WriteLine(val);
}
}
}输出结果
Unsorted List... [1, 20] [2, 15] [3, 35] [4, 50] [5, 25] Sorted List... [4, 50] [3, 35] [5, 25] [1, 20] [2, 15]