Добавить диапазон в коллекцию

Коллега спросил меня сегодня, как добавить диапазон в коллекцию. У него есть класс, который наследует отCollection<T>, Есть свойство get-only этого типа, которое уже содержит некоторые элементы. Он хочет добавить элементы из другой коллекции в коллекцию свойств. Как он может сделать это в стиле C # 3?(Обратите внимание на ограничение относительно свойства get-only, которое не позволяет таким решениям, как объединение и переназначение.)

Конечно, foreach с собственностью. Добавить будет работать. НоList<T>Стиль AddRange был бы гораздо более элегантным.

Достаточно просто написать метод расширения:

public static class CollectionHelpers
{
    public static void AddRange<T>(this ICollection<T> destination,
                                   IEnumerable<T> source)
    {
        foreach (T item in source)
        {
            destination.Add(item);
        }
    }
}

Но у меня такое чувство, что я заново изобретаю колесо. Я не нашел ничего подобного вSystem.Linq или жеmorelinq.

Плохой дизайн? Просто позвоните Добавить? Отсутствует очевидное?

Ответы на вопрос(7)

Ваш ответ на вопрос