考虑以下数组:
class B { }
class A
{
IEnumerable<B> C { get; }
}
IEnumerable<A> array;
我最终需要一个IEnumerable<B>
。我最终得到了IEnumerable<IEnumerable<B>>
:
var q = array.Select(a => a.C);
如何解开阵列?
答案 0 :(得分:7)
您只需使用SelectMany
:
IEnumerable<B> allBs = array.SelectMany(a => a.C);
答案 1 :(得分:3)
使用SelectMany
:
var q = array.SelectMany(a => a.C);
这将为您提供IEnumerable<B>
,其中包含C
中每个项目的array
属性的展平内容。