Freigeben über


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.

Graphic showing the behavior of Distinct().

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.

Graphic showing the action of Except().

Überschneiden

Die folgende Abbildung veranschaulicht das Verhalten von Enumerable.Intersect. Die zurückgegebene Sequenz enthält die Elemente, die in beiden Eingabesequenzen verwendet werden.

Graphic showing the intersection of two sequences.

Union

Die folgende Abbildung stellt einen Union-Vorgang zweier Zeichensequenzen dar. Die zurückgegebene Sequenz enthält die eindeutigen Elemente aus beiden Eingabesequenzen.

Graphic showing the union of two sequences.

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