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

Weitere Informationen