Partitionieren von Daten
Partitionieren in LINQ ist der Vorgang, bei dem eine Eingabesequenz in zwei Abschnitte unterteilt wird, ohne die Elemente neu anzuordnen. Dann wird einer der Abschnitte zurückgegeben.
Die folgende Abbildung veranschaulicht die Ergebnisse von drei verschiedenen Partitionierungsoperationen für eine Sequenz von Zeichen. Die erste Operation gibt die ersten drei Elemente in der Sequenz zurück. Die zweite Operation überspringt die ersten drei Elemente und gibt die übrigen Elemente zurück. Die dritte Operation überspringt die ersten zwei Elemente in der Sequenz und gibt die nächsten drei Elemente zurück.
Die Standardabfrageoperator-Methoden, die Sequenzen partitionieren, werden im folgenden Abschnitt aufgelistet.
Operatoren
Name des Operators |
Beschreibung |
C#-Abfrageausdruckssyntax |
Visual Basic-Abfrageausdruckssyntax |
Weitere Informationen |
---|---|---|---|---|
Skip |
Überspringt die Elemente bis zu einer angegebenen Position in einer Sequenz. |
Nicht zutreffend. |
Skip |
|
SkipWhile |
Überspringt die Elemente basierend auf einer Prädikatfunktion, bis ein Element die Bedingung nicht erfüllt. |
Nicht zutreffend. |
Skip While |
|
Take |
Übernimmt die Elemente bis zu einer angegebenen Position in einer Sequenz. |
Nicht zutreffend. |
Take |
|
TakeWhile |
Übernimmt die Elemente basierend auf einer Prädikatfunktion, bis ein Element die Bedingung nicht erfüllt. |
Nicht zutreffend. |
Take While |
Beispiele für die Abfrageausdruckssyntax
Skip
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 restlichen Zeichenfolgen des Arrays 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, wenn der erste Buchstabe der Zeichenfolge ein "a" ist. Die übrigen 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
Take
Im folgenden Codebeispiel wird die Take-Klausel in Visual Basic verwendet, um die ersten zwei 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 die Zeichenfolgen in einem Array zurückzugeben, wenn die Länge der Zeichenfolge fünf oder weniger Zeichen 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
Referenz
Skip While-Klausel (Visual Basic)
Take While-Klausel (Visual Basic)