Почему IList не поддерживает AddRange

List.AddRange() существует, но IList.AddRange() нет.
Мне это кажется странным. В чем причина этого?

Ответ 1

Поскольку интерфейс может быть легко реализован и не содержать "все, кроме кухни". Если вы добавите AddRange, вы должны добавить InsertRange и RemoveRange (для симметрии). Лучший вопрос заключается в том, почему не существует методов расширения для интерфейса IList<T>, аналогичного интерфейсу IEnumerable<T>. (методы расширения для места Sort, BinarySearch,... были бы полезны)