Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Melaksanakan Penomboran dalam LINQ ke Objek Menggunakan Langkau dan Ambil?

Bagaimanakah Saya Boleh Melaksanakan Penomboran dalam LINQ ke Objek Menggunakan Langkau dan Ambil?

Barbara Streisand
Barbara Streisandasal
2025-01-14 11:00:43412semak imbas

How Can I Implement Pagination in LINQ to Objects Using Skip and Take?

LINQ ke Penomboran Objek

Gunakan pertanyaan LINQ untuk melaksanakan paging, hanya gunakan kaedah sambungan Skip dan Take untuk melengkapkannya dengan mudah. Penyelesaiannya akan diperkenalkan secara terperinci di bawah:

Gunakan Langkau dan Ambil untuk melaksanakan paging

Kaedah

Skip melangkau elemen N pertama dalam set hasil dan mengembalikan elemen yang tinggal. Kaedah Take mengembalikan elemen N pertama dalam set hasil dan membuang elemen yang tinggal.

Untuk meniru fungsi TOP SQL, anda boleh menggunakan kaedah Skip dan Take seperti berikut:

  1. Menentukan bilangan objek untuk dipaparkan setiap halaman (contohnya, pageSize = 10).
  2. Tentukan nombor halaman yang hendak dipaparkan (contohnya, pageNumber = 3).
  3. Kira indeks elemen pertama untuk dilangkau menggunakan formula: offset = pageSize * (pageNumber - 1).
  4. Gunakan kaedah Skip untuk melangkau elemen offset pertama dalam hasil pertanyaan.
  5. Gunakan kaedah Take untuk mendapatkan semula pageSize elemen seterusnya.

Contoh Kod

Dengan mengandaikan pertanyaan LINQ anda queryResult mendapatkan semula senarai objek, anda boleh melaksanakan penomboran seperti berikut:

<code class="language-csharp">int pageSize = 10;
int pageNumber = 3;

var queryResultPage = queryResult
    .Skip(pageSize * (pageNumber - 1))
    .Take(pageSize);</code>

Dalam contoh ini, pageNumber bermula dari 1, mewakili nombor halaman yang akan dipaparkan. Jika pageNumber anda bermula pada 0, anda perlu melaraskan formula dengan sewajarnya: offset = pageSize * pageNumber.

Lebih banyak sumber

Untuk maklumat lanjut tentang kaedah Skip dan Take, sila rujuk dokumentasi Microsoft:

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Penomboran dalam LINQ ke Objek Menggunakan Langkau dan Ambil?. 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