如何将可枚举集合附加到C#中的现有列表

我有三个函数返回IEnumerable集合。 现在我想将所有这些组合成一个List。 那么,有什么方法可以将IEnumerable中的项目附加到列表中。 我的意思是没有每个循环?

好吧, 有些东西必须循环…但在LINQ中你可以轻松使用ConcatToList扩展方法:

 var bigList = list1.Concat(list2).Concat(list3).ToList(); 

请注意,这将创建一个列表,而不是将项目附加到现有列表。 如果要将它们添加到现有列表中, List.AddRange可能就是您所追求的:

 bigList.AddRange(list1); bigList.AddRange(list2); bigList.AddRange(list3); 

如果您已有列表:

 list.AddRange(yourCollectionToAppend); 

如果您有2个可用的枚举但尚未创建列表:

 firstCollection.Concat(secondCollection).ToList();