Skip 子句 (Visual Basic)

略過集合中指定數目的項目,然後傳回其餘項目。

語法

Skip count  

組件

count
必要。 評估為要略過之序列元素數目的值或運算式。

備註

Skip 子句會讓查詢略過結果清單開頭的元素,並傳回其餘元素。 要略過的元素數目是由 count 參數識別。

您可以使用 Skip 子句搭配 Take 子句,從查詢的任何區段傳回資料範圍。 若要如此,請將範圍第一個元素的索引傳遞至 Skip 子句,並將範圍的大小傳遞至 Take 子句。

在查詢中使用 Skip 子句時,建議您同時確保傳回結果的順序可讓 Skip 子句略過預定的結果。 如需排序查詢結果的詳細資訊,請參閱 Order By 子句 (機器翻譯)

您可以使用 SkipWhile 子句,視提供的條件指定只忽略特定元素。

範例

下列程式碼範例會搭配 Take 子句使用 Skip 子句,從頁面中的查詢傳回資料。 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

另請參閱