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 die Anzahl der Elemente der zu überspringenden Sequenz auswertet.

Hinweise

Die Skip -Klausel bewirkt, dass eine Abfrage Elemente am Anfang einer Ergebnisliste umgeht und die verbleibenden Elemente zurück gibt. Die Anzahl der zu überspringenden Elemente wird durch den -Parameter count identifiziert.

Sie können die -Klausel Skip mit der - Take Klausel verwenden, um einen Datenbereich aus einem beliebigen Segment einer Abfrage zurück zu geben. Übergeben Sie hierzu den Index des ersten Skip Elements des Bereichs an die -Klausel und die Größe des Bereichs an die - Take Klausel.

Wenn Sie die -Klausel Skip in einer Abfrage verwenden, müssen Sie möglicherweise auch sicherstellen, dass die Ergebnisse in Skip einer Reihenfolge zurückgegeben werden, die es der -Klausel ermöglicht, die beabsichtigten Ergebnisse zu umgehen. Weitere Informationen zum Bestellen von Abfrageergebnissen finden Sie unter Order By-Klausel.

Sie können die -Klausel SkipWhile verwenden, um anzugeben, dass abhängig von einer angegebenen Bedingung nur bestimmte Elemente ignoriert werden.

Beispiel

Im folgenden Codebeispiel wird die -Klausel Skip zusammen mit der -Klausel Take verwendet, um Daten aus einer Abfrage in Seiten zurück zu geben. Die GetCustomers Funktion verwendet die - Skip Klausel, um die Kunden in der Liste bis zum angegebenen Startindexwert zu umgehen, und verwendet die -Klausel, Take um eine Seite von Kunden zurück, die ab diesem Indexwert 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

Siehe auch