Dela via


Partitioneringsdata (Visual Basic)

Partitionering i LINQ syftar på att dela upp en indatasekvens i två avsnitt, utan att ändra ordning på elementen och sedan returnera ett av avsnitten.

Följande bild visar resultatet av tre olika partitioneringsåtgärder på en sekvens med tecken. Den första åtgärden returnerar de tre första elementen i sekvensen. Den andra åtgärden hoppar över de tre första elementen och returnerar de återstående elementen. Den tredje åtgärden hoppar över de två första elementen i sekvensen och returnerar de följande tre elementen.

Illustration that shows three LINQ partitioning operations.

Standardmetoderna för frågeoperatorer som partitionssekvenser visas i följande avsnitt.

Operatorer

Operatornamn beskrivning Syntax för Visual Basic-frågeuttryck Mer information
Hoppa över Hoppar över element upp till en angiven position i en sekvens. Skip Enumerable.Skip

Queryable.Skip
Hoppa över Hoppar över element baserat på en predikatfunktion tills ett element inte uppfyller villkoret. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Ta Tar element upp till en angiven position i en sekvens. Take Enumerable.Take

Queryable.Take
TakeWhile Tar element baserat på en predikatfunktion tills ett element inte uppfyller villkoret. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Segment Delar upp elementen i en sekvens i segment med en angiven maximal storlek. Enumerable.Chunk
Queryable.Chunk

Exempel på frågeuttryckssyntax

Hoppa över

I följande kodexempel används Skip -satsen i Visual Basic för att hoppa över de första fyra strängarna i en matris med strängar innan de återstående strängarna i matrisen returneras.


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

Hoppa över

I följande kodexempel används Skip While -satsen i Visual Basic för att hoppa över strängarna i en matris medan den första bokstaven i strängen är "a". Återstående strängar i matrisen returneras.


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

Ta

I följande kodexempel används Take -satsen i Visual Basic för att returnera de två första strängarna i en strängmatris.


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

TakeWhile

I följande kodexempel används Take While -satsen i Visual Basic för att returnera strängar från en matris medan längden på strängen är fem eller mindre.


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

Se även