Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk meratakan `ienumerable` ke dalam` senarai` menggunakan linq?

Bagaimana untuk meratakan `ienumerable` ke dalam` senarai` menggunakan linq?

Linda Hamilton
Lepaskan: 2025-01-26 15:46:09
asal
706 orang telah melayarinya

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

Memperkemas Pertanyaan LINQ Bersarang: Meratakan IEnumerable> untuk Senaraikan

Bekerja dengan koleksi bersarang dalam LINQ selalunya memerlukan meratakannya ke dalam satu senarai untuk pemprosesan yang lebih mudah. Kaedah SelectMany() menyediakan penyelesaian yang elegan untuk tugas biasa ini.

Senario:

Pertanyaan LINQ anda mengembalikan IEnumerable<List<int>>—kumpulan senarai integer. Matlamatnya adalah untuk mengubah ini menjadi satu List<int>.

Penyelesaian:

Kaedah SelectMany() meratakan struktur bersarang dengan cekap. Begini caranya:

<code class="language-csharp">var result = iList.SelectMany(i => i).ToList();</code>
Salin selepas log masuk

Kaedah SelectMany() berulang melalui setiap senarai dalaman (i) dalam iList dan menayangkan elemennya ke dalam satu urutan. Kaedah sambungan .ToList() kemudian menukar jujukan ini menjadi List<int>.

Ilustrasi:

Katakan input anda ialah:

<code>[1, 2, 3, 4]
[5, 6, 7]</code>
Salin selepas log masuk

Memohon SelectMany() hasil:

<code>[1, 2, 3, 4, 5, 6, 7]</code>
Salin selepas log masuk

Pendekatan ini memudahkan struktur data bersarang, menjadikan pertanyaan LINQ anda lebih ringkas dan boleh dibaca. Ia merupakan teknik yang berharga untuk mengendalikan pelbagai senario yang melibatkan data hierarki.

Atas ialah kandungan terperinci Bagaimana untuk meratakan `ienumerable` ke dalam` senarai` menggunakan linq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan