【发布时间】:2021-02-23 10:34:22
【问题描述】:
我怎样才能按照字典列表的降序按值排序
List<Dictionary<int, int>> myList = new List<Dictionary<int, int>>();
Dictionary<int, int> obj = new Dictionary<int, int>();
obj.Add(1, 2);
myList.Add(obj);
myList.Add(obj);
Dictionary<int, int> obj2 = new Dictionary<int, int>();
obj2.Add(2, 4);
myList.Add(obj2);
Dictionary<int, int> obj3 = new Dictionary<int, int>();
obj3.Add(3, 3);
myList.Add(obj3);
myList.Add(obj3);
myList.Add(obj3);
预期输出将是
[0][2,4],
[1][3,3],
[2][3,3],
[3][3,3],
[4][1,2],
[5][1,2]
【问题讨论】:
-
您要订购哪个值?
-
按第二个 int 值
-
您希望输出是什么?如果你做了
obj3.Add(0,0)呢? -
预期输出将是
[0][2,4], [1][3,3], [2][3,3], [3][3,3], [4][1,2], [5][1,2]现在 0 值我不考虑 :) -
使用如下: var results = myList.SelectMany((x, i) => x.Select(y => new { x = x, key = y.Key, value = y.Value } )).OrderByDescending(x => x.value).ToList();
标签: c# asp.net .net asp.net-mvc