如何使用 LINQ select 子集合中的所有项目
How to select all items from subcollections using LINQ
你能帮我 select 集合和子集合中的所有 int 项目吗?
我有对象
IEnumerable<IEnumerable<IEnumerable<int>>>
我需要select 所有整数 一个 List<int>
或int[]
。
谢谢
你必须展平两次(在SelectMany
的帮助下):
IEnumerable<IEnumerable<IEnumerable<int>>> source = ...
IEnumerable<int> result = source // IEnumerable<IEnumerable<IEnumerable<int>>>
.SelectMany(outer => outer) // IEnumerable<IEnumerable<int>>
.SelectMany(inner => inner); // IEnumerable<int>
最后,添加 .ToArray()
或 .ToList()
以便 实现 IEnumerable<int>
为 int[]
或 List<int>
:
int[] array = source
.SelectMany(outer => outer)
.SelectMany(inner => inner)
.ToArray();
你能帮我 select 集合和子集合中的所有 int 项目吗?
我有对象
IEnumerable<IEnumerable<IEnumerable<int>>>
我需要select 所有整数 一个 List<int>
或int[]
。
谢谢
你必须展平两次(在SelectMany
的帮助下):
IEnumerable<IEnumerable<IEnumerable<int>>> source = ...
IEnumerable<int> result = source // IEnumerable<IEnumerable<IEnumerable<int>>>
.SelectMany(outer => outer) // IEnumerable<IEnumerable<int>>
.SelectMany(inner => inner); // IEnumerable<int>
最后,添加 .ToArray()
或 .ToList()
以便 实现 IEnumerable<int>
为 int[]
或 List<int>
:
int[] array = source
.SelectMany(outer => outer)
.SelectMany(inner => inner)
.ToArray();