Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah LINQ Boleh Digunakan untuk Membahagikan Koleksi kepada Bahagian Berkadar?

Bagaimanakah LINQ Boleh Digunakan untuk Membahagikan Koleksi kepada Bahagian Berkadar?

Patricia Arquette
Patricia Arquetteasal
2025-01-20 03:56:07226semak imbas

How Can LINQ Be Used to Split a Collection into Proportionate Parts?

Membahagikan Koleksi dengan Cekap dengan LINQ

Manipulasi data selalunya memerlukan pembahagian koleksi besar kepada subset yang lebih kecil dan boleh diurus. LINQ menyediakan penyelesaian yang elegan untuk tugas biasa ini. Kaedah sambungan LINQ berikut dengan berkesan membahagikan koleksi kepada bilangan bahagian berkadar yang ditentukan:

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

Kaedah sambungan ini memanfaatkan fungsi pengelompokan LINQ. Ia menggunakan operator modulo (%) untuk mengagihkan elemen secara sama rata merentas bilangan parts yang dikehendaki. Keluaran ialah IEnumerable daripada IEnumerable<T>, di mana setiap bahagian dalam IEnumerable<T> mewakili sebahagian daripada koleksi asal.

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Digunakan untuk Membahagikan Koleksi kepada Bahagian Berkadar?. 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