Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membahagikan Koleksi kepada Subset Dengan Cekap Menggunakan LINQ?
LINQ: Alat Perkasa untuk Penciptaan Subset
Manipulasi data selalunya memerlukan pembahagian koleksi besar kepada subset yang lebih kecil dan boleh diurus. LINQ (Language Integrated Query) menyediakan penyelesaian yang elegan dan cekap untuk tugas biasa ini.
Penyelesaian LINQ
Kaedah sambungan LINQ berikut berkesan membahagikan koleksi kepada berbilang subset:
<code class="language-csharp">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>
Kaedah ini menerima koleksi (list
) dan bilangan subset yang diingini (parts
). Ia memanfaatkan pengendali GroupBy
dan Select
LINQ untuk membahagikan input. Pengendali modulo (%
) memastikan pengedaran sekata merentas subset, mengendalikan kes di mana saiz koleksi tidak boleh dibahagikan dengan sempurna dengan parts
.
Aplikasi Praktikal
Berikut ialah cara menggunakan kaedah Split
:
<code class="language-csharp">List<int> numbers = Enumerable.Range(1, 100).ToList(); IEnumerable<IEnumerable<int>> splitNumbers = numbers.Split(5);</code>
Contoh ini membahagikan senarai 100 integer kepada 5 subset. Ambil perhatian bahawa subset yang terhasil mungkin mempunyai saiz yang berbeza-beza jika saiz koleksi asal bukan gandaan parts
.
Faedah Pendekatan LINQ
Menggunakan LINQ untuk tugas ini menawarkan beberapa kelebihan utama:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membahagikan Koleksi kepada Subset Dengan Cekap Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!