Share via


Component overslaan (Visual Basic)

Slaat een opgegeven aantal elementen in een verzameling over en retourneert vervolgens de resterende elementen.

Syntaxis

Skip count  

generator

count
Vereist. Een waarde of een expressie die het aantal elementen van de reeks evalueert om over te slaan.

Opmerkingen

De Skip component zorgt ervoor dat een query elementen aan het begin van een lijst met resultaten omzeilt en de resterende elementen retourneert. Het aantal elementen dat moet worden overgeslagen, wordt geïdentificeerd door de count parameter.

U kunt de Skip component met de Take component gebruiken om een bereik van gegevens te retourneren uit elk segment van een query. Hiervoor geeft u de index van het eerste element van het bereik door aan de Skip component en de grootte van het bereik aan de Take component.

Wanneer u de Skip component in een query gebruikt, moet u er mogelijk ook voor zorgen dat de resultaten worden geretourneerd in een volgorde waarmee de Skip component de beoogde resultaten kan omzeilen. Zie Order By-component voor meer informatie over het ordenen van queryresultaten.

U kunt de SkipWhile component gebruiken om op te geven dat alleen bepaalde elementen worden genegeerd, afhankelijk van een opgegeven voorwaarde.

Opmerking

In het volgende codevoorbeeld wordt de Skip component samen met de Take component gebruikt om gegevens uit een query op pagina's te retourneren. De GetCustomers functie gebruikt de Skip component om de klanten in de lijst te omzeilen totdat de opgegeven beginindexwaarde is en gebruikt de Take component om een pagina van klanten te retourneren die beginnen met die indexwaarde.

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

Zie ook