Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh meratakan senarai bilangan bulat bersarang di Linq?

Bagaimana saya boleh meratakan senarai bilangan bulat bersarang di Linq?

Barbara Streisand
Barbara Streisandasal
2025-01-26 15:56:10967semak imbas

How Can I Flatten a Nested List of Integers in LINQ?

Senarai integer bersarang rata menggunakan 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!

Kenyataan:
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