绕过集合中的指定数量的元素,然后返回其余元素。
语法
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