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.
Mengenvorgänge in LINQ sind Abfrageoperationen, die ein Satz von Ergebnissen erzeugen, der auf der Existenz oder Abwesenheit äquivalenter Elemente in derselben oder in einer getrennten Auflistung (oder einem Satz) basiert.
Die Standardabfrageoperatormethoden, die Set-Vorgänge ausführen, werden im folgenden Abschnitt aufgeführt.
Methodik
| Methodenname | BESCHREIBUNG | Syntax des Visual Basic-Abfrageausdrucks | Mehr Informationen |
|---|---|---|---|
| Distinct oder DistinctBy | Entfernt doppelte Werte aus einer Auflistung | Distinct |
Enumerable.Distinct Enumerable.DistinctBy Queryable.Distinct Queryable.DistinctBy |
| Except oder ExceptBy | Gibt den Satzunterschied zurück, d. h. die Elemente einer Auflistung, die nicht in einer zweiten Auflistung angezeigt werden. | Nicht zutreffend. | Enumerable.Except Enumerable.ExceptBy Queryable.Except Queryable.ExceptBy |
| Intersect oder IntersectBy | Gibt die Schnittmenge zurück, d.h. die Elemente, die in beiden Auflistungen angezeigt werden | Nicht zutreffend. | Enumerable.Intersect Enumerable.IntersectBy Queryable.Intersect Queryable.IntersectBy |
| Union oder UnionBy | Gibt die Vereinigungsmenge zurück, d.h. eindeutige Elemente, die in einer der beiden Auflistungen angezeigt werden | Nicht zutreffend. | Enumerable.Union Enumerable.UnionBy Queryable.Union Queryable.UnionBy |
Vergleich von Mengenvorgängen
Unverwechselbar
Die folgende Abbildung zeigt das Verhalten der Enumerable.Distinct Methode für eine Abfolge von Zeichen. Die zurückgegebene Sequenz enthält die eindeutigen Elemente aus der Eingabesequenz.
Außer
Die folgende Abbildung zeigt das Verhalten von Enumerable.Except. Die zurückgegebene Sequenz enthält nur die Elemente aus der ersten Eingabesequenz, die sich nicht in der zweiten Eingabesequenz befinden.
Schneiden
Die folgende Abbildung zeigt das Verhalten von Enumerable.Intersect. Die zurückgegebene Sequenz enthält die Elemente, die in beiden Eingabesequenzen verwendet werden.
Vereinigung
Die folgende Abbildung stellt einen Union-Vorgang zweier Zeichensequenzen dar. Die zurückgegebene Sequenz enthält die eindeutigen Elemente aus beiden Eingabesequenzen.
Abfrageausdruckssyntax (Beispiel)
Im folgenden Beispiel wird die Distinct Klausel in einer LINQ-Abfrage verwendet, um die eindeutigen Zahlen aus einer Liste mit ganzen Zahlen zurückzugeben.
Dim classGrades = New System.Collections.Generic.List(Of Integer) From {63, 68, 71, 75, 68, 92, 75}
Dim distinctQuery = From grade In classGrades
Select grade Distinct
Dim sb As New System.Text.StringBuilder("The distinct grades are: ")
For Each number As Integer In distinctQuery
sb.Append(number & " ")
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' The distinct grades are: 63 68 71 75 92