Метод GroupBy
Метод GroupBy класса Enumerable группирует элементы; порядок ключей идёт по первому появлению.
Синтаксис
IEnumerable<IGrouping<TKey, T>> groups = source.GroupBy(x => key);
Пример
Давайте сгруппируем по чётности и выведем ключ и count:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
foreach (var g in nums.GroupBy(n => n % 2))
{
Console.WriteLine(g.Key + " " + g.Count());
}
}
}
Результат выполнения кода:
1 3
0 2