Вы можете использовать:
var dCounts =
from i in dic
group i by i.Value into g
select new { g.Key, Count = g.Count(), Values = g };
Результат, созданный группированием (значение g
), имеет свойство Key
, которое дает вам ключ, но также реализует IEnumerable<T>
, который позволяет вам получать доступ к отдельным значениям в группе. Если вы вернете просто g
, вы можете перебрать все значения, используя foreach
, или обработать их, используя LINQ.
Вот простая функция дампа, чтобы продемонстрировать это:
foreach(var el in dCounts) {
Console.Write(" - {0}, count: {1}, values:", el.Key, el.Count);
foreach(var item in el.Values) Console.Write("{0}, ", item);
|