Wie kann ich IEnumerable > zu IEnumerable reduzieren?
-
05-07-2019 - |
Frage
Sorry für die seltsame Beschriftung. Was ich versuche ist einfach zu erreichen:
IEnumerable<IEnumerable<Foo>> listoflist;
IEnumerable<Foo> combined = listoflist.CombineStuff();
Beispiel:
{{0, 1}, {2, 3}} => {0, 1, 2, 3}
Ich bin sicher, es gibt einen Linq Ausdruck für diese ...
Nebenbei bemerkt: Die Listen können groß sein
.Lösung
Wie leppie sagt, möchten Sie Enumerable.SelectMany
. Die einfachste Form wäre:
combined = listOfList.SelectMany(x => x);
Bei der Abfrage Ausdrücke, SelectMany
wird aufgerufen, wenn Sie mehr als eine from
Klausel, also eine Alternative wäre:
combined = from x in listOfList
from y in x
select y;
Andere Tipps
Select ()
OK
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow