将EntitySet<IEnumerable<T>>转换为IEnumerable<T>。

4

我有一个

 EntitySet<IEnumerable<T>>

从某些查询中返回并需要将其转换为

IEnumerable<T>. 

我能做到吗?

2个回答

8

EntitySet<IEnumerable<T>> 实现了 IEnumerable<IEnumerable<T>> 接口。因此您可以这样做:

IEnumerable<T> flattenedList = entitySet.SelectMany(e => e);

看起来有点奇怪,但是SelectMany采用一个函数,该函数从列表中的每个项目获取“子列表”,然后将所有子列表连接在一起成为单个列表。 在这种情况下,列表上的每个项目都是一个列表,因此lambda很简短。


2
这似乎是SelectMany的工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接