menggunakan Linq's SelectMany () untuk meratakan senarai integer bersarang
Pertanyaan Linq sering menghasilkan koleksi bersarang, seperti. Kaedah IEnumerable<List<int>>
dengan cekap meratakannya ke dalam satu senarai. SelectMany()
Cabaran:
Katakan pertanyaan LINQ mengembalikan senarai senarai integer (). Tugasnya adalah untuk menggabungkan senarai batin ini menjadi satu, satu dimensi IEnumerable<List<int>>
. List<int>
Contoh ilustrasi:
Bermula dengan senarai input ini:
<code>[1, 2, 3, 4] and [5, 6, 7]</code>
<code>[1, 2, 3, 4, 5, 6, 7]</code>
Penyelesaian dengan selectMany ():
Linq's memudahkan proses ini. Inilah cara meratakan senarai bersarang: SelectMany()
<code class="language-csharp">var nestedList = new List<List<int>> { new List<int> { 1, 2, 3, 4 }, new List<int> { 5, 6, 7 } }; var flattenedList = nestedList.SelectMany(innerList => innerList).ToList(); </code>
Penjelasan:
nestedList
SelectMany(innerList => innerList)
melangkah melalui setiap SelectMany()
dalam innerList
. Ekspresi Lambda nestedList
hanya memproyeksikan setiap senarai dalaman ke dalam dirinya sendiri, dengan berkesan melepaskan sarang. innerList => innerList
.ToList()
. List<int>
Atas ialah kandungan terperinci Bagaimanakah kaedah Linq's SelectMany () meratakan senarai integer bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!