共用方式為


Take 子句 (Visual Basic)

從集合開頭傳回指定的連續項目數目。

語法

Take count  

組件

count
必須的。 值或表達式,評估為要傳回之序列的項目數。

備註

Take 句會讓查詢從結果清單開頭包含指定的連續項目數目。 要包含的項目數目是由 count 參數所指定。

您可以使用 Take 子句搭配 Skip 子句,從查詢的任何區段傳回數據範圍。 若要這樣做,請將範圍第一個專案的索引傳遞至 Skip 子句,並將範圍的大小傳遞至 Take 子句。 在此情況下, Take 子句必須在 子句之後 Skip 指定。

當您在查詢中使用 Take 子句時,您可能也需要確保傳回結果的順序,以便讓 Take 子句包含預定的結果。 如需排序查詢結果的詳細資訊,請參閱 Order By 子句

您可以使用 TakeWhile 子句來指定只傳回特定元素,視提供的條件而定。

範例

下列程式代碼範例會 Take 搭配 子句使用 子句, Skip 從頁面中的查詢傳回數據。 GetCustomers 函式會 Skip 使用 子句略過清單中的客戶,直到提供的起始索引值為止,並使用 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

另請參閱