Condividi tramite


Operazioni Set (Visual Basic)

Le operazioni set in LINQ fanno riferimento alle operazioni di query che producono un set di risultati basato sulla presenza o sull'assenza di elementi equivalenti all'interno delle stesse raccolte o insiemi separati (o set).

I metodi dell'operatore query standard che eseguono operazioni set sono elencati nella sezione seguente.

Metodi

Nome metodo Descrizione Sintassi delle espressioni di query di Visual Basic Altre 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 di set, ovvero gli elementi di una raccolta che non vengono visualizzati in una seconda raccolta. 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 delle operazioni sugli insiemi

Distinto

La figura seguente illustra il comportamento del Enumerable.Distinct metodo in una sequenza di caratteri. La sequenza restituita contiene gli elementi univoci dalla sequenza di input.

Immagine che mostra il comportamento di Distinct().

Eccetto

La figura seguente illustra il comportamento di Enumerable.Except. La sequenza restituita contiene solo gli elementi della prima sequenza di input che non si trovano nella seconda sequenza di input.

Immagine che mostra l'azione di Except().

Intersezione

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

Immagine che mostra l'intersezione di due sequenze.

Unione

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

Immagine che mostra l'unione di due sequenze.

Esempio di sintassi delle espressioni di query

Nell'esempio seguente viene utilizzata la Distinct clausola 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 

Vedere anche