首页 >后端开发 >C++ >如何使用SelectMany()在LINQ中嵌套列表?

如何使用SelectMany()在LINQ中嵌套列表?

DDD
DDD原创
2025-01-26 15:42:11461浏览

How Can I Flatten a Nested List in LINQ Using SelectMany()?

使用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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn