Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
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