Verwenden Sie das LINQ -SelectMany (), um verschachtelte Ganzzahllisten
zu verflachen lINQ -Abfragen erzeugen häufig verschachtelte Sammlungen wie IEnumerable<List<int>>
. Die SelectMany()
-Methode flacht diese effizient in eine einzelne Liste aus.
Die Herausforderung:
Angenommen, eine Linq -Abfrage gibt eine Liste von Zahlenlisten zurück (IEnumerable<List<int>>
). Die Aufgabe besteht darin, diese inneren Listen zu einem einzigen, eindimensionalen List<int>
Illustratives Beispiel:
Beginnend mit diesen Eingabelisten:
<code>[1, 2, 3, 4] and [5, 6, 7]</code>
Die gewünschte Ausgabe lautet:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
Lösung mit SelectMany ():
lINQs SelectMany()
vereinfacht diesen Prozess. Hier erfahren Sie, wie Sie die verschachtelte Liste verflachten:
<code class="language-csharp">var nestedList = new List<List<int>> { new List<int> { 1, 2, 3, 4 }, new List<int> { 5, 6, 7 } }; var flattenedList = nestedList.SelectMany(innerList => innerList).ToList(); </code>
Erläuterung:
nestedList
: Dies repräsentiert die Eingabeliste der Listen. SelectMany(innerList => innerList)
: Dies ist der Kern der Lösung. SelectMany()
Iteriert jedes innerList
in nestedList
. Der Lambda -Ausdruck innerList => innerList
projiziert einfach jede innere Liste auf sich selbst und entpackt effektiv das Verschachteln. .ToList()
: Dies wandelt die resultierende abgeflachte Sequenz in ein List<int>
. Dieser prägnante Code flacht die verschachtelte Liste effizient und liefert die gewünschte eindimensionale Liste von Ganzzahlen.
Das obige ist der detaillierte Inhalt vonWie kann die SelectMany () -Methode von Linq eine verschachtelte Liste von Ganzzahlen verflachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!