Freigeben über


Partitionieren von Daten (Visual Basic)

Die Partitionierung in LINQ bezieht sich auf den Vorgang der Aufteilung einer Eingabesequenz in zwei Abschnitte, ohne die Elemente neu anzuordnen und dann einen der Abschnitte zurückzugeben.

Die folgende Abbildung zeigt die Ergebnisse von drei verschiedenen Partitionierungsvorgängen in einer Folge von Zeichen. Der erste Vorgang gibt die ersten drei Elemente in der Sequenz zurück. Der zweite Vorgang überspringt die ersten drei Elemente und gibt die verbleibenden Elemente zurück. Der dritte Vorgang überspringt die ersten beiden Elemente in der Sequenz und gibt die nächsten drei Elemente zurück.

Abbildung mit drei LINQ-Partitionierungsvorgängen.

Die Standardabfrageoperator-Methoden, die Partitionierungssequenzen verwenden, sind im folgenden Abschnitt aufgeführt.

Betriebspersonal

Name des Betreibers BESCHREIBUNG Syntax des Visual Basic-Abfrageausdrucks Mehr Informationen
Überspringen Überspringt Elemente bis zu einer angegebenen Position in einer Sequenz. Skip Enumerable.Skip

Queryable.Skip
SkipWhile Überspringt Elemente basierend auf einer Prädikatfunktion, bis ein Element die Bedingung nicht erfüllt. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Nehmen Nimmt Elemente bis zu einer angegebenen Position in einer Sequenz. Take Enumerable.Take

Queryable.Take
TakeWhile Verwendet Elemente, die auf einer Prädikatfunktion basieren, bis ein Element die Bedingung nicht erfüllt. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Block Teilt die Elemente einer Sequenz in Blöcke einer angegebenen maximalen Größe auf. Enumerable.Chunk
Queryable.Chunk

Beispiele für die Abfrageausdruckssyntax

Überspringen

Im folgenden Codebeispiel wird die Skip Klausel in Visual Basic verwendet, um die ersten vier Zeichenfolgen in einem Array von Zeichenfolgen zu überspringen, bevor die verbleibenden Zeichenfolgen im Array zurückgegeben werden.


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

SkipWhile

Im folgenden Codebeispiel wird die Skip While Klausel in Visual Basic verwendet, um die Zeichenfolgen in einem Array zu überspringen, während der erste Buchstabe der Zeichenfolge "a" lautet. Die verbleibenden Zeichenfolgen im Array werden zurückgegeben.


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

Nehmen

Im folgenden Codebeispiel wird die Take Klausel in Visual Basic verwendet, um die ersten beiden Zeichenfolgen in einem Array von Zeichenfolgen zurückzugeben.


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

Im folgenden Codebeispiel wird die Take While Klausel in Visual Basic verwendet, um Zeichenfolgen aus einem Array zurückzugeben, während die Länge der Zeichenfolge fünf oder weniger beträgt.


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

Siehe auch