Подтвердить что ты не робот

.NET: объединение двух общих списков

Скажем, у меня есть два общих списка одного типа. Как объединить их в один общий список этого типа?

4b9b3361

Ответ 1

Это должно сделать трюк

List<Type> list1;
List<Type> list2;

List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);

Ответ 2

Вы можете просто добавить элементы из одного списка в другой:

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);

Ответ 3

Если вы используете С# 3.0/.Net 3.5:

List<SomeType> list1;
List<SomeType> list2;

var list = list1.Concat(list2).ToList();