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

另请参阅