Skip-Klausel (Visual Basic)
Aktualisiert: November 2007
Überspringt eine festgelegte Anzahl von Elementen in einer Auflistung und gibt anschließend die übrigen Elemente zurück.
Skip count
Bestandteile
- count
Erforderlich. Ein Wert oder ein Ausdruck, dessen Auswertung die Anzahl von Elementen der Sequenz ergibt, die übersprungen werden soll.
Hinweise
Durch die Skip-Klausel umgeht eine Abfrage Elemente am Anfang einer Ergebnisliste, und die verbleibenden Elemente werden zurückgegeben. Die Anzahl der zu überspringenden Elemente wird durch den count-Parameter identifiziert.
Die Skip-Klausel kann zusammen mit der Take-Klausel verwendet werden, um einen Datenbereich aus einem beliebigen Abschnitt einer Abfrage zurückzugeben. Hierfür wird der Skip-Klausel der Index des ersten Elements des Bereichs und der Take-Klausel die Größe des Bereichs übergeben.
Bei der Verwendung der Skip-Klausel in einer Abfrage sollte sichergestellt werden, dass die Ergebnisse in einer Reihenfolge zurückgegeben werden, in der die vorgesehenen Ergebnisse von der Skip-Klausel umgangen werden können. Weitere Informationen zum Sortieren von Abfrageergebnissen finden Sie unter ORDER BY-Klausel (Visual Basic).
Mit der SkipWhile-Klausel kann anhand einer angegebenen Bedingung festgelegt werden, dass nur bestimmte Elemente ignoriert werden.
Beispiel
Im folgenden Codebeispiel wird die Skip-Klausel zusammen mit der Take-Klausel verwendet, um die Ergebnisse einer Abfrage seitenweise zurückzugeben. Die GetCustomers-Funktion verwendet die Skip-Klausel, um die Kunden in der Liste bis zum angegebenen Indexstartwert zu übergehen. Die Take-Klausel wird verwendet, um eine Seite mit Kunden ab diesem Indexwert zurückzugeben.
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
Siehe auch
Konzepte
Einführung in LINQ in Visual Basic
Referenz
ORDER BY-Klausel (Visual Basic)
Skip While-Klausel (Visual Basic)