Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Linq dapat memecah senarai dengan cekap ke dalam sublists saiz yang ditentukan?

Bagaimanakah Linq dapat memecah senarai dengan cekap ke dalam sublists saiz yang ditentukan?

Susan Sarandon
Lepaskan: 2025-02-01 22:36:13
asal
648 orang telah melayarinya

How Can LINQ Efficiently Split a List into Sublists of a Specified Size?

Gunakan Senarai Segmentasi Cekap LINQ

Linq menyediakan kaedah pemprosesan data yang mudah dan berkuasa untuk aplikasi .NET, termasuk fungsi membahagikan senarai ke dalam sub -list mengikut pelbagai syarat.

Pertimbangkan isu -isu berikut: Anda mempunyai

, anda perlu membahagikannya ke dalam beberapa sub -senarai objek

, dan saiz setiap senarai kanak -kanak ditentukan oleh indeks. Sebagai contoh, senarai asal mengandungi unsur -unsur berikut: List<T> T

senarai yang anda mahu dapatkan ialah:
<code>[a, g, e, w, p, s, q, f, x, y, i, m, c]</code>
Salin selepas log masuk

Saiz sub -list boleh ditentukan sebagai parameter fungsi.
<code>[a, g, e], [w, p, s], [q, f, x], [y, i, m], [c]</code>
Salin selepas log masuk

Penyelesaian menggunakan LINQ adalah seperti berikut:

Kod ini melaksanakan langkah -langkah berikut:
<code class="language-csharp">public static List<List<T>> Split<T>(IList<T> source, int sublistSize)
{
    return source
        .Select((x, i) => new { Index = i, Value = x })
        .GroupBy(x => x.Index / sublistSize)
        .Select(x => x.Select(v => v.Value).ToList())
        .ToList();
}</code>
Salin selepas log masuk

Menurut kumpulan indeks
    :
  1. kaedah ini dibayar kepada unsur -unsur dalam senarai sumber mengikut indeks elemen, setiap kumpulan mewakili sub -list yang berbeza. Saiz Subline Kawalan Parameter. GroupBy Pilih sub -list sublistSize:
  2. kaedah ini digunakan untuk mengekstrak nilai dalam setiap kumpulan ke dalam senarai baru.
  3. ditukar ke senarai senarai : kemudian gunakan Select untuk menukar kumpulan ke dalam senarai.
  4. Hasilnya ialah , masing -masing mengandungi unsur -unsur yang ditentukan dari senarai asal, dan dibahagikan mengikut indeks projek. Dengan masuk ke parameter , saiz sub -list boleh dikawal secara fleksibel. ToList

Atas ialah kandungan terperinci Bagaimanakah Linq dapat memecah senarai dengan cekap ke dalam sublists saiz yang ditentukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan