假设我有两个相同类型的通用列表,如何将它们合并为一个该类型的通用列表?
这应该会有用
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();