Memperkemas Pertanyaan LINQ Bersarang: Meratakan IEnumerable
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>
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>
Memohon SelectMany()
hasil:
<code>[1, 2, 3, 4, 5, 6, 7]</code>
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!