Bagikan melalui


Ambil Klausul (Visual Basic)

Mengembalikan jumlah elemen bersebelahan yang ditentukan dari awal koleksi.

Sintaksis

Take count  

Bagian

count
Dibutuhkan. Nilai atau ekspresi yang mengevaluasi ke jumlah elemen urutan yang akan dikembalikan.

Komentar

Klausul Take ini menyebabkan kueri menyertakan sejumlah elemen yang bersebelahan dari awal daftar hasil. Jumlah elemen yang akan disertakan ditentukan oleh count parameter .

Anda dapat menggunakan Take klausa dengan Skip klausul untuk mengembalikan rentang data dari segmen kueri apa pun. Untuk melakukan ini, teruskan indeks elemen pertama rentang ke Skip klausa dan ukuran rentang ke Take klausa. Dalam hal ini, Take klausul harus ditentukan setelah Skip klausul.

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

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

Contoh

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

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