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