Operazioni set (Visual Basic)

Le operazioni sui set in LINQ si riferiscono alle operazioni di query che generano un set di risultati basato sulla presenza o sull'assenza di elementi equivalenti all'interno delle stesse Collection oppure di Collection (o set) distinte.

La sezione seguente elenca i metodi dell'operatore query standard che eseguono operazioni sui set.

Metodi

Nome metodo Descrizione Sintassi delle espressioni di query di Visual Basic Ulteriori informazioni
Distinct o DistinctBy Rimuove i valori duplicati da una Collection. Distinct Enumerable.Distinct
Enumerable.DistinctBy
Queryable.Distinct
Queryable.DistinctBy
Except o ExceptBy Restituisce la differenza dei set, ovvero gli elementi di una Collection che non sono presenti in una seconda Collection. Non applicabile. Enumerable.Except
Enumerable.ExceptBy
Queryable.Except
Queryable.ExceptBy
Intersect o IntersectBy Restituisce l'intersezione di set, ovvero gli elementi presenti in ognuna delle due Collection. Non applicabile. Enumerable.Intersect
Enumerable.IntersectBy
Queryable.Intersect
Queryable.IntersectBy
Union o UnionBy Restituisce l'unione di set, ovvero gli elementi univoci presenti in una delle due Collection. Non applicabile. Enumerable.Union
Enumerable.UnionBy
Queryable.Union
Queryable.UnionBy

Confronto tra le operazioni sui set

Distinct

Nella figura seguente viene illustrato il comportamento del metodo Enumerable.Distinct su una sequenza di caratteri. La sequenza restituita contiene gli elementi univoci dalla sequenza di input.

Graphic showing the behavior of Distinct().

Except

Nella figura seguente viene illustrato il comportamento di Enumerable.Except. La sequenza restituita contiene solo gli elementi dalla prima sequenza di input che non sono presenti nella seconda sequenza di input.

Graphic showing the action of Except().

Intersezione

Nella figura seguente viene illustrato il comportamento di Enumerable.Intersect. La sequenza restituita contiene gli elementi comuni a entrambe le sequenze di input.

Graphic showing the intersection of two sequences.

Popolare

La figura seguente illustra un'operazione di unione tra due sequenze di caratteri. La sequenza restituita contiene gli elementi univoci da entrambe le sequenze di input.

Graphic showing the union of two sequences.

Esempio di sintassi delle espressioni di query

Nell'esempio seguente viene utilizzata la clausola Distinct in una query LINQ per restituire i numeri univoci da un elenco di numeri interi.


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 

Vedi anche