Freigeben über


Festlegen von Vorgängen (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 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.

Grafik mit dem Verhalten von Distinct().

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.

Grafik, die die Aktion von Except() zeigt.

Schneiden

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

Grafik, die die Schnittmenge zweier Sequenzen zeigt.

Vereinigung

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

Grafik, die die Vereinigung zweier Sequenzen zeigt.

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 

Siehe auch