ToDictionary и ToLookup

Нередко встречается необходимость, сгруппировав элементы, преобразовать их в структуру данных для поиска группы по ключу группировки.

Это можно было бы сделать с помощью такой комбинации:

Ровно того же эффекта можно добиться и без цикла при помощи LINQ-метода ToDictionary:

IDictionary<K, V> ToDictionary(this IEnumerable<T> items, Func<T, K> keySelector, Func<T, V> valueSelector)

Но еще проще воспользоваться специальным методом ToLookup:

  • ILookup<K, T> ToLookup(this IEnumerable<T> items, Func<T, K> keySelector)
  • ILookup<K, V> ToLookup(this IEnumerable<T> items, Func<T, K> keySelector, Func<T, V> valueSelector)
Комментарии отключены