我有一个
EntitySet<IEnumerable<T>>
从某些查询返回并需要将其强制转换为
IEnumerable<T>.
我可以这样做吗?
答案 0 :(得分:8)
EntitySet<IEnumerable<T>>
实施IEnumerable<IEnumerable<T>>
。所以你可以这样做:
IEnumerable<T> flattenedList = entitySet.SelectMany(e => e);
看起来有点奇怪,但SelectMany
接受一个函数,该函数从列表中的每个项目获取“子列表”,然后将所有子列表连接在一起成为一个列表。在这种情况下,列表中的每个项目都是一个列表,因此lambda很好而且很短。
答案 1 :(得分:2)
这看起来像是SelectMany的工作