Skip 子句 (Visual Basic)
绕过集合中指定数量的元素,然后返回剩余的元素。
语法
Skip count
组成部分
count
必需。 一个值或表达式,其计算结果为要跳过的序列的元素数。
注解
Skip
子句使查询绕过结果列表开头的元素并返回其余元素。 要跳过的元素数由 count
参数标识。
可以结合使用 Skip
子句与 Take
子句,以从查询的任何段返回某一范围的数据。 为此,请将该范围内第一个元素的索引传递给 Skip
子句,并将该范围的大小传递给 Take
子句。
在查询中使用 Skip
子句时,可能还需要确保返回结果的顺序能够使 Skip
子句绕过预期结果。 有关对查询结果进行排序的详细信息,请参阅 Order By 子句。
可以使用 SkipWhile
子句来指定仅忽略某些元素,具体取决于所提供的条件。
示例
以下代码示例将 Skip
子句和 Take
子句一起使用,在页中返回查询数据。 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