Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh meratakan senarai bilangan bulat bersarang di Linq?
Soalan:
Pertanyaan LINQ anda mengembalikan senarai integer bersarang, yang anda ingin ratakan menjadi satu senarai. Memandangkan senarai senarai sumber, anda berhasrat untuk menggabungkan semua senarai dalaman ke dalam senarai tunggal yang koheren.
Penyelesaian:
Gunakan kaedah SelectMany() dalam LINQ untuk menyelesaikan tugas ini. SelectMany() pandai meratakan koleksi bersarang, menukarnya kepada jujukan elemen tunggal.
Begini cara anda boleh menggunakan SelectMany():
<code class="language-csharp">var result = iList.SelectMany(i => i);</code>
Dalam kes ini, iList mewakili senarai integer bersarang asal anda. Dengan menggunakan SelectMany() dan ungkapan lambda yang memetakan setiap senarai dalam kepada dirinya sendiri (i => i), anda boleh menggabungkan unsur-unsur daripada semua senarai dalam ke dalam satu urutan dengan berkesan. Pembolehubah hasil yang terhasil mengandungi senarai yang diratakan.
Contoh:
Pertimbangkan tatasusunan sumber: [1, 2, 3, 4] dan [5, 6, 7]. Selepas meratakan dengan SelectMany() anda mendapat tatasusunan tunggal yang anda inginkan: [1, 2, 3, 4, 5, 6, 7].
Atas ialah kandungan terperinci Bagaimana saya boleh meratakan senarai bilangan bulat bersarang di Linq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!