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
Freigeben: 2025-01-26 15:46:09
Original
706 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Anwendung SelectMany() Ausbeute:

<code>[1, 2, 3, 4, 5, 6, 7]</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage