Ответ 1
ILookup
записи могут содержать несколько элементов для каждой клавиши - каждая клавиша отображается на IEnumerable<TElement>
.
Также как и намечено в комментариях, ILookup
неизменен, в то время как вы можете обновлять значения в IDictionary
(он предоставляет метод Add()
и индекс, который позволяет получать настройки и значения).
Вкратце, их вариант использования очень отличается - вы используете поиск, когда вам нужна карта 1: N со значениями, которые фиксированы и не будут (и не могут) изменяться. С другой стороны, словарь предлагает изменчивое сопоставление пар значений ключа 1:1, поэтому его можно обновить, чтобы добавить или удалить значения.