Operazioni HashSet e sugli insiemi LINQ
Aggiornamento: novembre 2007
In questo argomento vengono confrontate le operazioni HashSet<T> con le operazioni sugli insiemi LINQ (Language-Integrated Query).
Operazioni sugli insiemi LINQ
LINQ provides access to some set operations to any data source that implements the IEnumerable or IQueryable interfaces. Ciò include matrici e raccolte.
Le operazioni sugli insiemi fornite da LINQ sono le seguenti:
Differenza
Unione
Intersezione
Esclusione
Per ulteriori informazioni su LINQ, vedere LINQ (Language-Integrated Query). Per ulteriori informazioni sulle operazioni sugli insiemi LINQ, vedere Operazioni sugli insiemi.
Quando utilizzare HashSet<T>
La differenza principale tra le operazioni sugli insiemi LINQ e le operazioni HashSet<T> è che le prime restituiscono sempre una nuova raccolta IEnumerable<T>, mentre i metodi HashSet<T> equivalenti modificano la raccolta corrente. HashSet<T> fornisce una raccolta più grande ed efficiente di operazioni sugli insiemi. Ad esempio, HashSet<T> fornisce confronti quali IsSubsetOf e IsSupersetOf.
Se in genere è necessario creare un nuovo insieme o accedere solo alle operazioni sugli insiemi fornite, sarà sufficiente utilizzare le operazioni sugli insiemi LINQ in una raccolta o matrice IEnumerable<T>. Se invece è necessario accedere ad altre operazioni sugli insiemi o se non si desidera o non è necessario creare una nuova raccolta, utilizzare la classe HashSet<T>.
Operazioni HashSet<T> e sugli insiemi LINQ
Nella tabella riportata di seguito vengono illustrate le operazioni HashSet<T> e le relative operazioni sugli insiemi LINQ equivalenti.
Operazione HashSet(Of T) |
Equivalente LINQ |
---|---|
Non fornito |
|
Non fornito |
|
Non fornito |
|
Non fornito |
|
Non fornito |
|
Non fornito |
|
Non fornito |
|
Non fornito |