Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linq中合并集合集合_Linq_Collections_Linq To Objects - Fatal编程技术网

如何在Linq中合并集合集合

如何在Linq中合并集合集合,linq,collections,linq-to-objects,Linq,Collections,Linq To Objects,我希望能够将IEnumerable合并为IEnumerable(即将所有单个集合合并为一个集合)。Union运算符仅适用于两个集合。有什么想法吗?试试看 var it = GetTheNestedCase(); return it.SelectMany(x => x); SelectMany是一个LINQ转换,本质上说“对于集合中的每个项目,返回集合中的元素”。它会将一个元素转换为多个元素(因此选择多个)。它非常适合将集合的集合分解成一个简单的列表 var lists = GetTheN

我希望能够将
IEnumerable
合并为
IEnumerable
(即将所有单个集合合并为一个集合)。
Union
运算符仅适用于两个集合。有什么想法吗?

试试看

var it = GetTheNestedCase();
return it.SelectMany(x => x);
SelectMany是一个LINQ转换,本质上说“对于集合中的每个项目,返回集合中的元素”。它会将一个元素转换为多个元素(因此选择多个)。它非常适合将集合的集合分解成一个简单的列表

var lists = GetTheNestedCase();
return
    from list in lists
    from element in list
    select element;

是使用C#3.0查询表达式语法实现此目的的另一种方法。

LINQ的开箱即用功能总是让我感到惊讶。:)