Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
Intersezione
La figura seguente illustra il comportamento di Enumerable.Intersect. La sequenza restituita contiene gli elementi comuni a entrambe le sequenze di input.
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.
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