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

Select-Klausel (Visual Basic)

From-Klausel (Visual Basic)

ORDER BY-Klausel (Visual Basic)

Skip While-Klausel (Visual Basic)

Take-Klausel (Visual Basic)

Weitere Ressourcen

Abfragen (Visual Basic)