Heim >Backend-Entwicklung >C++ >Wie flach ein 'iEnumerable' in eine 'list' mit linq ab?
Streamlining Nested linq Abfragen: Abflachung iEnumerable & lt; list
Die Arbeit mit verschachtelten Sammlungen in LINQ erfordert häufig, dass sie in eine einzelne Liste zur einfacheren Verarbeitung abgeflacht werden. Die SelectMany()
-Methode liefert eine elegante Lösung für diese gemeinsame Aufgabe.
Szenario:
Ihre Linq -Abfrage gibt eine IEnumerable<List<int>>
- eine Sammlung von Ganzzahllisten zurück. Das Ziel ist es, dies in ein einzelnes List<int>
.
Lösung:
Die SelectMany()
-Methode flacht die verschachtelte Struktur effizient ab. So wie:
<code class="language-csharp">var result = iList.SelectMany(i => i).ToList();</code>
Die SelectMany()
-Methode iteriert jede innere Liste (i
) in iList
und projiziert seine Elemente in eine einzelne Sequenz. Die Erweiterungsmethode .ToList()
konvertiert dann diese Sequenz in ein List<int>
.
Abbildung:
sagen wir, Ihre Eingabe lautet:
<code>[1, 2, 3, 4] [5, 6, 7]</code>
Anwendung SelectMany()
Ausbeute:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
Dieser Ansatz vereinfacht verschachtelte Datenstrukturen und macht Ihre Linq -Abfragen prägnanter und lesbarer. Es ist eine wertvolle Technik zum Umgang mit verschiedenen Szenarien mit hierarchischen Daten.
Das obige ist der detaillierte Inhalt vonWie flach ein 'iEnumerable' in eine 'list' mit linq ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!