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.
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.
Intersezione
Nella figura seguente viene illustrato il comportamento di Enumerable.Intersect. La sequenza restituita contiene gli elementi comuni a entrambe le sequenze di input.
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.
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