Take Tümcesi (Visual Basic)

Koleksiyonun başından itibaren belirtilen sayıda bitişik öğe döndürür.

Sözdizimi

Take count  

Parça

count
Gerekli. Döndürülecek sıranın öğe sayısını değerlendiren bir değer veya ifade.

Açıklamalar

Take yan tümcesi, sorgunun bir sonuç listesinin başlangıcından itibaren belirtilen sayıda bitişik öğe içermesine neden olur. Eklenecek öğe sayısı parametresi tarafından count belirtilir.

Yan tümcesini Take yan tümcesiyle kullanarak sorgunun Skip herhangi bir kesiminden bir veri aralığı döndürebilirsiniz. Bunu yapmak için aralığın ilk öğesinin dizinini yan tümcesine Skip ve aralığın boyutunu yan tümcesine Take geçirin. Bu durumda yan tümcesi Take yan tümceden Skip sonra belirtilmelidir.

Yan tümcesini Take bir sorguda kullandığınızda, sonuçların yan tümcesinin istenen sonuçları içermesini sağlayacak Take bir sırayla döndürülmesini de sağlamanız gerekebilir. Sorgu sonuçlarını sıralama hakkında daha fazla bilgi için bkz . Order By Yan Tümcesi.

Sağlanan bir koşula bağlı olarak yalnızca belirli öğelerin döndürüleceğini belirtmek için yan tümcesini TakeWhile kullanabilirsiniz.

Örnek

Aşağıdaki kod örneği, yan tümcesini Take yan tümcesiyle Skip birlikte kullanarak sayfalardaki bir sorgudan veri döndürür. GetCustomers işlevi, sağlanan başlangıç dizini değerine kadar listedeki müşterileri atlamak için yan tümcesini kullanır Skip ve yan tümcesini Take kullanarak bu dizin değerinden başlayan bir müşteri sayfası döndürür.

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

Ayrıca bkz.