Operazioni sui set
Le operazioni sugli insiemi in LINQ si riferiscono alle operazioni di query che generano un set di risultati basati sulla presenza o sull'assenza di elementi equivalenti all'interno degli stessi insiemi o di insiemi distinti.
I metodi degli operatori di query standard che eseguono le operazioni sugli insiemi sono riportati nella sezione seguente.
Metodi
Nome metodo |
Descrizione |
Sintassi dell'espressione di query in C# |
Sintassi dell'espressione di query in Visual Basic |
Ulteriori informazioni |
---|---|---|---|---|
Distinct |
Rimuove i valori duplicati da un insieme. |
Non applicabile. |
Distinct |
|
Esclusione |
Restituisce la differenza degli insiemi, ovvero gli elementi di un insieme che non sono presenti in un secondo insieme. |
Non applicabile. |
Non applicabile. |
|
Intersezione |
Restituisce l'intersezione degli insiemi, ovvero gli elementi presenti in ognuno dei due insiemi. |
Non applicabile. |
Non applicabile. |
|
Unione |
Restituisce l'unione degli insiemi, ovvero gli elementi univoci presenti in uno dei due insiemi. |
Non applicabile. |
Non applicabile. |
Confronto delle operazioni sugli insiemi
Distinct
Nella figura seguente viene illustrato il comportamento del metodo Enumerable.Distinct su una sequenza di caratteri. La sequenza restituita contiene gli elementi univoci della sequenza di input.
Esclusione
Nella seguente figura viene illustrato il comportamento di Enumerable.Except. La sequenza restituita contiene solo gli elementi della prima sequenza di input che non sono presenti nella seconda sequenza di input.
Intersezione
Nella seguente figura viene illustrato il comportamento di Enumerable.Intersect. La sequenza restituita contiene gli elementi che sono comuni a entrambe le sequenze di input.
Unione
Nella figura seguente viene illustrata un'operazione di unione su due sequenze di caratteri. La sequenza restituita contiene gli elementi univoci di entrambe le sequenza di input.
Esempio di sintassi dell'espressione di query
Nell'esempio seguente viene utilizzata la clausola Distinct (disponibile solo in Visual Basic) 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
Attività
Procedura: combinare e confrontare insiemi di stringhe (LINQ)
Procedura: trovare la differenza dei set tra due elenchi (LINQ)
Riferimenti
Clausola Distinct (Visual Basic)