如何在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式语法的方法。