[英]Why can't I pass a List<List<Foo>> to an IEnumerable<IEnumerable<Foo>>
[英]How can I reduce IEnumerable<IEnumerable<Foo>> to IEnumerable<Foo>?
對不起,奇怪的標題。 我想要實現的目標很簡單:
IEnumerable<IEnumerable<Foo>> listoflist;
IEnumerable<Foo> combined = listoflist.CombineStuff();
例:
{{0, 1}, {2, 3}} => {0, 1, 2, 3}
我很肯定有一個Linq表達式...
旁注:列表可能很大。
正如leppie所說,你想要Enumerable.SelectMany
。 最簡單的形式是:
combined = listOfList.SelectMany(x => x);
在查詢表達式中,當您有多個from
子句時,將調用SelectMany
,因此另一種方法是:
combined = from x in listOfList
from y in x
select y;
的SelectMany()
好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.