從集合開頭傳回指定的連續項目數目。
語法
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
另請參閱
- Visual Basic LINQ 簡介
- 查詢
- Select 子句
- From 子句
- Order By 子句
- 取值條件句
- 跳過子句