如何在Linq中合并一个集合

我希望能够融合一个IEnumerable<IEnumerable<T>>IEnumerable<T> (即合并所有个人集合成一个)。 Union运营商只适用于两个集合。 任何想法?

2 Solutions collect form web for “如何在Linq中合并一个集合”

尝试

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

  • LINQ to SQL和有序结果的运行总数
  • 我怎样才能过滤使用LINQ的字典,并将其返回到相同types的字典
  • 使用Lambda / Linq将对象列表sorting
  • 如何debugging一个LINQ语句
  • Linqselect列表中存在IN(A,B,C)的对象