Ответ 1
Назначение класса: словарь, в котором ключ может отображать несколько значений. Подумайте об этом как о группировании, а не о взаимном сопоставлении.
Только через решение ToLookup: Pass. Опять же, кажется, мне плохой звонок. С другой стороны, это означает, что результат неизменен для внешнего мира, что довольно приятно. Очень легко написать собственную коллекцию, которая, конечно же, поддерживает это, но было бы неплохо иметь его в коллекциях "правильно". Я предполагаю, что у MS не было времени/денег, чтобы пройти довольно строгий дизайн/тест, необходимый для принятия решения о выборе первого класса.
Решение пространства имен: Вероятно, связано с вышеизложенным. Наличие версии в System.Collections.Generic, которую вы не могли бы создать, было бы немного странным.