Tipo di raccolta HashSet

Aggiornamento: novembre 2007

La classe HashSet<T> è una raccolta di insiemi che implementa l'interfaccia ICollection e l'interfaccia generica ICollection<T>.

Raccolte di insiemi

In matematica, un insieme è una raccolta di oggetti distinti definito generalmente da una regola che determina se un elemento è membro di un particolare insieme. Ad esempio, un insieme potrebbe essere definito per contenere "tutti i numeri dispari compresi tra 1 e 21" o i numeri "1, 3, 5 e 7".

Classe HashSet

La classe HashSet<T> è basata sul modello di insiemi matematici e fornisce operazioni sugli insiemi ad alte prestazioni simili all'accesso alle chiavi delle raccolte Dictionary<TKey, TValue> o Hashtable. In altre parole, la classe HashSet<T> può essere considerata come una raccolta Dictionary<TKey, TValue> senza valori.

La raccolta HashSet<T> non è ordinata e non può contenere elementi duplicati. Se l'ordinamento o la duplicazione degli elementi è più importante delle prestazioni dell'applicazione, utilizzare la classe List<T> insieme al metodo Sort.

HashSet<T> fornisce molte operazioni matematiche sugli insiemi, ad esempio somma di insiemi (unioni) e differenza di insiemi. Nella tabella riportata di seguito vengono illustrate le operazioni HashSet<T> fornite e i relativi equivalenti matematici.

Operazione HashSet(Of T)

Equivalente matematico

UnionWith

Unione o somma di insiemi

IntersectWith

Intersezione

ExceptWith

Differenza di insiemi

SymmetricExceptWith

Differenza simmetrica

Oltre alle operazioni sugli insiemi riportate, la classe HashSet<T> fornisce anche i metodi per determinare l'uguaglianza tra insiemi, la sovrapposizione di insiemi e se un insieme è un sottoinsieme o un sovrainsieme di un altro insieme.

Vedere anche

Concetti

Operazioni HashSet e sugli insiemi LINQ

Riferimenti

HashSet<T>

Altre risorse

Tipi di insieme comunemente utilizzati