Pisah koleksi kepada bahagian menggunakan LINQ
Artikel ini meneroka masalah biasa dalam analisis dan pengaturcaraan data: membahagikan set kepada n subset yang berbeza.
Penyelesaian LINQ:
LINQ menyediakan penyelesaian yang ringkas dan elegan untuk tugasan ini. Kaedah sambungan berikut Split<T>
mencapai hasil yang diharapkan:
<code class="language-csharp">static class LinqExtensions { public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> list, int parts) { int i = 0; var splits = from item in list group item by i++ % parts into part select part.AsEnumerable(); return splits; } }</code>
Arahan:
Split<T>
menerima dua parameter: koleksi input (list
) dan bilangan bahagian untuk membahagikannya kepada (parts
). i
kepada sifar, yang akan digunakan sebagai indeks elemen terkumpul. group by
untuk mencipta kumpulan berdasarkan modulo i
dan parts
. Ini memastikan elemen diperuntukkan kepada bahagian yang berbeza berdasarkan kedudukannya dalam koleksi asal. IEnumerable<T>
objek, setiap objek mewakili sebahagian daripada koleksi asal. Penyelesaian ini menyediakan cara yang mudah dan boleh dibaca untuk membahagikan koleksi kepada subset menggunakan LINQ.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Koleksi kepada Berbilang Bahagian Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!