在C#中,我有一个Dictionary对象,它存储一个整数值和一个十进制值。
Dictionary<decimal,int> objDict = new Dictionary<decimal,int>();
,值为
12 1
23 1
14 1
6 2
9 2
16 3
-4 3
我想使用LINQ对此进行分组,以便获得最大值。预期的输出是
23 1
9 2
16 3
怎么做?
答案 0 :(得分:3)
var query = yourDictionary.GroupBy(x => x.Value,
(k, g) => new {
Max = g.Max(x => x.Key),
Value = k
});
答案 1 :(得分:0)
var itemCount2NumberMap = yourDictionary.GroupBy(item=>item.Value).ToDictionary(x=>x.Key, x=>x.Max(y=>y.Key));