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