GroupBy()
Группирует элементы по ключу.
Сигнатура
IEnumerable<IGrouping<TKey, T>> source.GroupBy(Func<T, TKey> key)Разбивает последовательность на группы по значению ключа. Каждая группа содержит ключ Key и свои элементы.
var nums = new[] { 1, 2, 3, 4 };
var groups = nums.GroupBy(x => x % 2);
// группы: ключ 1 -> [1,3], ключ 0 -> [2,4]