簡體   English   中英

如何減少IEnumerable <IEnumerable<Foo> &gt;到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM