Skip-Klausel (Visual Basic)
Überspringt eine festgelegte Anzahl von Elementen in einer Auflistung und gibt anschließend die übrigen Elemente zurück.
Syntax
Skip count
Bestandteile
count
Erforderlich. Ein Wert oder ein Ausdruck, der zur Anzahl der zu überspringenden Elemente der Sequenz ausgewertet wird.
Bemerkungen
Die Skip
-Klausel bewirkt, dass eine Abfrage Elemente am Anfang einer Ergebnisliste umgeht und die restlichen Elemente zurückgibt. Die Anzahl der zu überspringenden Elemente wird durch den count
-Parameter identifiziert.
Sie können die Skip
-Klausel mit der Take
-Klausel verwenden, um einen Datenbereich aus einem beliebigen Segment einer Abfrage zurückzugeben. Übergeben Sie dazu den Index des ersten Elements des Bereichs an die Skip
-Klausel und die Größe des Bereichs an die Take
-Klausel.
Wenn Sie die Skip
-Klausel in einer Abfrage verwenden, müssen Sie möglicherweise auch sicherstellen, dass die Ergebnisse in einer Reihenfolge zurückgegeben werden, die es der Skip
Klausel ermöglicht, die beabsichtigten Ergebnisse zu umgehen. Weitere Informationen zum Sortieren von Abfrageergebnissen finden Sie unter Order By-Klausel.
Sie können die SkipWhile
-Klausel verwenden, um anzugeben, dass abhängig von einer angegebenen Bedingung nur bestimmte Elemente ignoriert werden.
Beispiel
Im folgenden Codebeispiel wird die Skip
-Klausel zusammen mit der Take
-Klausel verwendet, um Daten aus einer Abfrage auf Seiten zurückzugeben. Die GetCustomers
Funktion verwendet die Skip
-Klausel, um die Kunden in der Liste bis zum angegebenen Startindexwert zu umgehen, und verwendet die Take
-Klausel, um eine Seite von Kunden zurückzugeben, die von diesem Indexwert aus beginnt.
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