Так что мой вопрос в том, зачем нам нужно IEnumerable, когда у нас есть словарь?
вопрос вы упоминается о противоположном: создание Dictionary
изIEnumerable
. Итак, у вас есть IEnumerable
, и вы хотели бы иметь Dictionary
.
Это может потребоваться, если у вас есть, например. e List
, и вы хотели бы иметь быстрый доступ к элементам коллекции по одному из значений свойства элементов.
И только, чтобы быть уверенным, что Dictionary<TKey, TValue>
уже реализует IEnumerable<T>
, поэтому преобразование не было бы необходимым в противоположном направлении (если вы не пытаетесь изменить T
).
Они * полностью * разные. Один - это * интерфейс *, представляющий произвольную последовательность элементов; другой - это конкретный * класс *, представляющий пары ключ/значение, используя хеширование, чтобы быстро выполнить поиск. Вы прочитали документацию по обоим типам, прежде чем спрашивать? –
Зачем нам нужны апельсины, когда есть зебра. – zerkms