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