Skip 子句 (Visual Basic)

更新:2007 年 11 月

跳过集合中指定数量的元素,然后返回剩余的元素。

Skip count

组成部分

  • count
    必需。一个值或一个表达式,其计算结果为要跳过的序列中的元素个数。

备注

Skip 子句使查询跳过结果列表开头的元素并返回剩余的元素。要跳过的元素个数由 count 参数标识。

可以将 Skip 子句与 Take 子句一起使用,以便从查询的任何段返回某一范围的数据。为此,请该范围的第一个元素的索引传递给 Skip 子句,将该范围的大小传递给 Take 子句。

在查询中使用 Skip 子句时,可能还需要确保按照顺序返回结果,以使 Skip 子句能够跳过预期的结果。有关对查询结果进行排序的更多信息,请参见 Order By 子句 (Visual Basic)

使用 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

请参见

概念

Visual Basic 中的 LINQ 简介

参考

Select 子句 (Visual Basic)

From 子句 (Visual Basic)

Order By 子句 (Visual Basic)

Skip While 子句 (Visual Basic)

Take 子句 (Visual Basic)

其他资源

查询 (Visual Basic)