.NET: Объединение двух универсальных списков

Скажем, у меня есть два универсальных списка того же типа. Как я комбинирую их в один универсальный список того типа?

23
задан JamesBrownIsDead 4 January 2010 в 22:34
поделиться

4 ответа

[

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

]. [
List<Type> list1;
List<Type> list2;

List<Type> combined;
combined.AddRange(list1);
combined.AddRange(list2);
]
32
ответ дан 29 November 2019 в 01:14
поделиться

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

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);
18
ответ дан 29 November 2019 в 01:14
поделиться

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

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

var list = list1.Concat(list2).ToList();
9
ответ дан 29 November 2019 в 01:14
поделиться
[

] Используя метод .AddRange()[

]. [

][]http://msdn.microsoft.com/en-us/library/z883w3dc.aspx[][

]
0
ответ дан 29 November 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: