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

另请参阅