Rad*_*dhi 20 c# generics ienumerable list
我有三个函数返回IEnumerable集合.现在我想将所有这些组合成一个List.那么,有什么方法可以将IEnumerable中的项目附加到列表中.我的意思是没有每个循环?
Jon*_*eet 32
好吧,有些东西必须循环...但在LINQ中你可以轻松使用Concat和ToList扩展方法:
var bigList = list1.Concat(list2).Concat(list3).ToList();
Run Code Online (Sandbox Code Playgroud)
请注意,这将创建一个新列表,而不是将项目附加到现有列表.如果要将它们添加到现有列表中,List<T>.AddRange可能就是您所追求的:
bigList.AddRange(list1);
bigList.AddRange(list2);
bigList.AddRange(list3);
Run Code Online (Sandbox Code Playgroud)
如果您已有一个清单:
list.AddRange(yourCollectionToAppend);
Run Code Online (Sandbox Code Playgroud)
如果您有2个可用的枚举但尚未创建列表:
firstCollection.Concat(secondCollection).ToList();
Run Code Online (Sandbox Code Playgroud)