Heim >Backend-Entwicklung >C++ >Wie flach ein 'iEnumerable' in eine 'list' mit linq ab?

Wie flach ein 'iEnumerable' in eine 'list' mit linq ab?

Linda Hamilton
Linda HamiltonOriginal
2025-01-26 15:46:09708Durchsuche

How to Flatten an `IEnumerable` into a `List` using LINQ?

Streamlining Nested linq Abfragen: Abflachung iEnumerable & lt; list & gt; um

aufzulisten

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>.

zu verwandeln

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn