Lewati Klausul (Visual Basic)

Melewati sejumlah elemen tertentu dalam koleksi dan kemudian mengembalikan elemen yang tersisa.

Sintaks

Skip count  

Generator

count
Harus diisi. Nilai atau ekspresi yang mengevaluasi jumlah elemen urutan yang akan dilewati.

Keterangan

Klausa Skip menyebabkan kueri melewati elemen di awal daftar hasil dan mengembalikan elemen yang tersisa. Jumlah elemen yang akan dilewati diidentifikasi oleh parameter count.

Anda bisa menggunakan klausul Skip dengan klausul Take untuk mengembalikan rentang data dari segmen kueri apa pun. Untuk melakukan ini, teruskan indeks elemen pertama rentang ke klausul Skip dan ukuran rentang ke klausul Take.

Saat Anda menggunakan klausul Skip dalam kueri, Anda mungkin juga perlu memastikan bahwa hasilnya dikembalikan dalam urutan yang akan memungkinkan klausul Skip untuk melewati hasil yang dimaksudkan. Untuk informasi selengkapnya tentang mengurutkan hasil kueri, lihat Urutkan Menurut Klausul.

Anda dapat menggunakan klausul SkipWhile untuk menentukan bahwa hanya elemen tertentu yang diabaikan, tergantung pada kondisi yang disediakan.

Contoh

Contoh kode berikut menggunakan klausul Skip bersama dengan klausul Take untuk mengembalikan data dari kueri di halaman. Fungsi GetCustomers ini menggunakan klausul Skip untuk melewati pelanggan dalam daftar hingga nilai indeks awal yang disediakan, dan menggunakan klausul Take untuk mengembalikan halaman pelanggan yang dimulai dari nilai indeks tersebut.

Public Sub PagingSample()
    Dim pageNumber As Integer = 0
    Dim pageSize As Integer = 10

    Dim customersPage = GetCustomers(pageNumber * pageSize, pageSize)

    Do While customersPage IsNot Nothing
        Console.WriteLine(vbCrLf & "Page: " & pageNumber + 1 & vbCrLf)

        For Each cust In customersPage
            Console.WriteLine(cust.CustomerID & ", " & cust.CompanyName)
        Next

        Console.WriteLine(vbCrLf)

        pageNumber += 1
        customersPage = GetCustomers(pageNumber * pageSize, pageSize)
    Loop
End Sub

Public Function GetCustomers(ByVal startIndex As Integer,
                             ByVal pageSize As Integer) As List(Of Customer)

    Dim customers = GetCustomerList()

    Dim returnCustomers = From cust In customers
                          Skip startIndex Take pageSize

    If returnCustomers.Count = 0 Then Return Nothing

    Return returnCustomers
End Function

Lihat juga