Добавить диапазон в коллекцию
Коллега спросил меня сегодня, как добавить диапазон в коллекцию. У него есть класс, который наследует отCollection
, Там'свойство get-only этого типа, которое уже содержит некоторые элементы. Он хочет добавить элементы из другой коллекции в коллекцию свойств. Как он может сделать это в стиле C # 3?(Обратите внимание на ограничение относительно свойства get-only, которое не позволяет таким решениям, как объединение и переназначение.)
Конечно, foreach с собственностью. Добавить будет работать. НоList
Стиль AddRange был бы гораздо более элегантным.
Это'Достаточно просто написать метод расширения:
public static class CollectionHelpers
{
public static void AddRange(this ICollection destination,
IEnumerable source)
{
foreach (T item in source)
{
destination.Add(item);
}
}
}
Но у меня есть чувство, что ям изобретаю колесо. Я не'не найти ничего похожего вSystem.Linq
или жеmorelinq.
Плохой дизайн? Просто позвоните Добавить? Отсутствует очевидное?