ILookup и IGroupingC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 ILookup и IGrouping

Сообщение Anonymous »

У меня возникли проблемы с объяснением различий между ILookup и IGrouping, и мне интересно, правильно ли я это понимаю сейчас. LINQ усугубил проблему, создавая последовательности элементов IGrouping, а также предоставляя мне метод расширения ToLookup. Так что мне казалось, что они одинаковые, пока я не присмотрелся повнимательнее.

Код: Выделить всё

var q1 =
from n in N
group n by n.MyKey into g
select g;
// q1 is IEnumerable
Что эквивалентно:

Код: Выделить всё

var q2 = N.GroupBy(n => n.MyKey, n => n);
// q2 is IEnumerable
Это очень похоже на:

Код: Выделить всё

var q3 = N.ToLookup(n => n.MyKey, n => n);
// q3 is ILookup
Правиль ли я в следующих аналогиях?


[*]An IGrouping — это отдельная группа (т. е. последовательность с ключами), аналогичная KeyValuePair, где значение фактически представляет собой последовательность элементов (а не один элемент)[*]IEnumerable — это их последовательность (аналогично тому, что вы получаете при переборе IDictionary[*]ILookup больше похож на IDictionary, где значение на самом деле представляет собой последовательность элементов


Подробнее здесь: https://stackoverflow.com/questions/133 ... gtkey-tval
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ilookup с пустыми коллекциями
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Ilookup с пустыми коллекциями
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Словарь и изменяемые ключи
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как работает процесс хеширования в Dictionary?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • ConcurrentDictionary — Как эффективно «получить N элементов, начиная с ключа K»?
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»