Dela via


Hoppa över sats (Visual Basic)

Kringgår ett angivet antal element i en samling och returnerar sedan de återstående elementen.

Syntax

Skip count  

Delar

count
Obligatoriska. Ett värde eller ett uttryck som utvärderas till antalet element i sekvensen som ska hoppa över.

Kommentarer

Satsen Skip gör att en fråga kringgår element i början av en resultatlista och returnerar de återstående elementen. Antalet element som ska hoppa över identifieras av parametern count .

Du kan använda Skip -satsen med Take -satsen för att returnera ett dataintervall från valfritt segment av en fråga. För att göra detta skickar du indexet för det första elementet i intervallet till Skip -satsen och storleken på intervallet till Take -satsen.

När du använder Skip -satsen i en fråga kan du också behöva se till att resultaten returneras i en ordning som gör att satsen kan Skip kringgå de avsedda resultaten. Mer information om hur du beställer frågeresultat finns i Order By Clause (Order By Clause).

Du kan använda SkipWhile -satsen för att ange att endast vissa element ignoreras, beroende på ett angivet villkor.

Exempel

I följande kodexempel används Skip -satsen tillsammans med Take -satsen för att returnera data från en fråga på sidor. Funktionen GetCustomers använder Skip -satsen för att kringgå kunderna i listan tills det angivna startindexvärdet används och satsen används Take för att returnera en sida med kunder som börjar från indexvärdet.

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

Se även