Skip 子句 (Visual Basic)
略過集合中指定的項目數,然後傳回其餘項目。
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