如何在Linq中合并一个集合
我希望能够融合一个IEnumerable<IEnumerable<T>>
到IEnumerable<T>
(即合并所有个人集合成一个)。 Union
运营商只适用于两个集合。 任何想法?
尝试
var it = GetTheNestedCase(); return it.SelectMany(x => x);
SelectMany是一个LINQ转换,基本上说“对于集合中的每个项目返回集合的元素”。 它会把一个元素变成很多(因此SelectMany)。 将集合集合分解成一个单一的列表是非常好的。
var lists = GetTheNestedCase(); return from list in lists from element in list select element;
是另一种使用C#3.0查询expression式语法的方法。