从集合的开头返回指定数量的连续元素。
语法
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