Partitioneringsgegevens (Visual Basic)
Partitionering in LINQ verwijst naar de werking van het verdelen van een invoerreeks in twee secties, zonder de elementen opnieuw te rangschikken en vervolgens een van de secties te retourneren.
In de volgende afbeelding ziet u de resultaten van drie verschillende partitioneringsbewerkingen op een reeks tekens. De eerste bewerking retourneert de eerste drie elementen in de reeks. Met de tweede bewerking worden de eerste drie elementen overgeslagen en worden de resterende elementen geretourneerd. Met de derde bewerking worden de eerste twee elementen in de reeks overgeslagen en worden de volgende drie elementen geretourneerd.
De standaardqueryoperatormethoden die partitiereeksen bevatten, worden vermeld in de volgende sectie.
Operators
Operatornaam | Beschrijving | Syntaxis van Visual Basic-queryexpressie | Meer informatie |
---|---|---|---|
Overslaan | Hiermee worden elementen overgeslagen tot een opgegeven positie in een reeks. | Skip |
Enumerable.Skip Queryable.Skip |
In de tussentijd overslaan | Slaat elementen over op basis van een predicaatfunctie totdat een element niet aan de voorwaarde voldoet. | Skip While |
Enumerable.SkipWhile Queryable.SkipWhile |
Take | Neemt elementen tot een opgegeven positie in een reeks. | Take |
Enumerable.Take Queryable.Take |
In de tussentijd | Neemt elementen op basis van een predicaatfunctie totdat een element niet aan de voorwaarde voldoet. | Take While |
Enumerable.TakeWhile Queryable.TakeWhile |
Segment | Hiermee worden de elementen van een reeks gesplitst in segmenten van een opgegeven maximale grootte. | Enumerable.Chunk Queryable.Chunk |
Voorbeelden van syntaxis van query-expressie
Overslaan
In het volgende codevoorbeeld wordt de Skip
component in Visual Basic gebruikt om de eerste vier tekenreeksen in een matrix met tekenreeksen over te slaan voordat de resterende tekenreeksen in de matrix worden geretourneerd.
Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}
Dim query = From word In words
Skip 4
Dim sb As New System.Text.StringBuilder()
For Each str As String In query
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' keeps
' the
' doctor
' away
In de tussentijd overslaan
In het volgende codevoorbeeld wordt de Skip While
component in Visual Basic gebruikt om de tekenreeksen in een matrix over te slaan terwijl de eerste letter van de tekenreeks 'a' is. De resterende tekenreeksen in de matrix worden geretourneerd.
Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}
Dim query = From word In words
Skip While word.Substring(0, 1) = "a"
Dim sb As New System.Text.StringBuilder()
For Each str As String In query
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' day
' keeps
' the
' doctor
' away
Take
In het volgende codevoorbeeld wordt de Take
component in Visual Basic gebruikt om de eerste twee tekenreeksen in een matrix met tekenreeksen te retourneren.
Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}
Dim query = From word In words
Take 2
Dim sb As New System.Text.StringBuilder()
For Each str As String In query
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' an
' apple
In de tussentijd
In het volgende codevoorbeeld wordt de Take While
component in Visual Basic gebruikt om tekenreeksen uit een matrix te retourneren, terwijl de lengte van de tekenreeks vijf of minder is.
Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}
Dim query = From word In words
Take While word.Length < 6
Dim sb As New System.Text.StringBuilder()
For Each str As String In query
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' an
' apple
' a
' day
' keeps
' the