Как я могу сделать "Группировать по" с объектом Dictionary? - PullRequest
0 голосов
/ 10 марта 2011

В 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

Как это сделать?

Ответы [ 2 ]

3 голосов
/ 10 марта 2011
var query = yourDictionary.GroupBy(x => x.Value,
                                   (k, g) => new {
                                                     Max = g.Max(x => x.Key),
                                                     Value = k
                                                 });
0 голосов
/ 10 марта 2011
var itemCount2NumberMap = yourDictionary.GroupBy(item=>item.Value).ToDictionary(x=>x.Key, x=>x.Max(y=>y.Key));
...