Скажем, у меня есть два универсальных списка того же типа. Как я комбинирую их в один универсальный список того типа?
] Это должно сделать трюк [
]. [List<Type> list1;
List<Type> list2;
List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);
] Вы можете просто добавлять элементы из одного списка в другой:
list1.AddRange(list2);
Если вы хотите сохранить списки и создать новый:
List<T> combined = new List<T>(list1);
combined.AddRange(list2);
Или используя методы LINQ:
List<T> combined = list1.Concat(list2).ToList();
Вы можете получить немного лучшую производительность, создав список с правильной емкостью перед добавлением элементов в него:
List<T> combined = new List<T>(list1.Count + list2.Count);
combined.AddRange(list1);
combined.AddRange(list2);
Если Вы используете C# 3.0/.Net 3.5:
List<SomeType> list1;
List<SomeType> list2;
var list = list1.Concat(list2).ToList();