Operazioni HashSet e sui set LINQ
In questo argomento vengono confrontate le operazioni HashSet<T> con le operazioni sugli insiemi LINQ (Language-Integrated Query).
Operazioni sugli insiemi LINQ
LINQ consente di accedere ad alcune delle operazioni sui set relative a qualsiasi origine dati che implementa le interfacce IEnumerable o IQueryable. Ciò include matrici e raccolte.
Le operazioni sui set fornite da LINQ sono le seguenti:
Distinct
Unione
Intersezione
Esclusione
Per ulteriori informazioni su LINQ, vedere LINQ (Language-Integrated Query) e Parallel LINQ (PLINQ). Per ulteriori informazioni sulle operazioni sui set LINQ, vedere Operazioni sui set.
Quando utilizzare HashSet<T>
La differenza principale tra le operazioni sui set LINQ e le operazioni HashSet<T> è che le prime restituiscono sempre un nuovo set IEnumerable<T>, mentre i metodi HashSet<T> equivalenti modificano l'insieme corrente. HashSet<T> fornisce un set più grande ed efficiente di operazioni sui set. Ad esempio, HashSet<T> fornisce confronti quali IsSubsetOf e IsSupersetOf.
Se in genere è necessario creare un nuovo set o accedere solo alle operazioni sui set fornite, sarà sufficiente utilizzare le operazioni sui set LINQ in una raccolta o matrice IEnumerable<T>. Se invece è necessario accedere ad altre operazioni sui set 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 sui set LINQ equivalenti.
Operazione HashSet(Of T) |
Equivalente LINQ |
---|---|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
|
Non fornito. |
Vedere anche
Riferimenti
Concetti
Tipi di insieme comunemente utilizzati