使用LINQ展平嵌套列表
在LINQ中处理嵌套列表时,有时需要将多个列表转换为单个展平的列表。这可以使用SelectMany()
方法实现。
场景:
考虑以下返回嵌套整数列表的LINQ查询:
<code class="language-csharp">IEnumerable<List<int>> iList = (from number in (from no in Method() select no) select number).ToList();</code>
如果需要输出一个包含嵌套列表中所有元素的单个列表,可以对查询进行如下修改:
<code class="language-csharp">var result = iList.SelectMany(i => i);</code>
SelectMany()
方法获取输入序列(在本例中为每个列表)的每个元素,并将其投影到一个新的序列中。通过指定参数i
,嵌套列表的每个元素都成为输出序列中的一个新元素。
示例:
对于源列表[1, 2, 3, 4]和[5, 6, 7],修改后的查询将生成以下展平列表:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
因此,使用SelectMany()
方法,可以在LINQ中将嵌套整数列表转换为单个展平列表。
以上是如何使用SelectMany()在LINQ中嵌套列表?的详细内容。更多信息请关注PHP中文网其他相关文章!