Mengenvorgänge (Visual Basic)
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 Methoden des Standardabfrageoperators, die Mengenoperationen ausführen, sind im folgenden Abschnitt aufgeführt.
Methoden
Methodenname | Beschreibung | Visual Basic-Abfrageausdruckssyntax | Weitere Informationen |
---|---|---|---|
Distinct oder DistinctBy | Entfernt doppelte Werte aus einer Auflistung | Distinct |
Enumerable.Distinct Enumerable.DistinctBy Queryable.Distinct Queryable.DistinctBy |
Except oder ExceptBy | Gibt die festgelegte Differenz zurück, was bedeutet, dass die Elemente in einer Auflistung 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
Distinct
Die folgende Abbildung veranschaulicht das Verhalten der Methode Enumerable.Distinct in einer Zeichensequenz. Die zurückgegebene Sequenz enthält die eindeutigen Elemente aus der Eingabesequenz.
Except
Die folgende Abbildung veranschaulicht 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.
Überschneiden
Die folgende Abbildung veranschaulicht das Verhalten von Enumerable.Intersect. Die zurückgegebene Sequenz enthält die Elemente, die in beiden Eingabesequenzen verwendet werden.
Union
Die folgende Abbildung stellt einen Union-Vorgang zweier Zeichensequenzen dar. Die zurückgegebene Sequenz enthält die eindeutigen Elemente aus beiden Eingabesequenzen.
Beispiel für die Abfrageausdruckssyntax
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
Siehe auch
- System.Linq
- Standard Query Operators Overview (Visual Basic) (Übersicht über Standardabfrageoperatoren (Visual Basic))
- Distinct-Klausel
- Vorgehensweise: Verbinden und Vergleichen von Zeichenfolgensammlungen (LINQ) (Visual Basic)
- Vorgehensweise: Suchen der Unterschiedsmenge zwischen zwei Listen (LINQ) (Visual Basic)