在 C# 中对 KeyValuePair 进行排序
使用 Sort 方法对 KeyValuePairs 集合进行排序。
首先,设置集合 −
var myList = new List<KeyValuePair<int, int>>(); // adding elements 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>>(); // adding elements 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); } // Sort Value 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]
广告