Condividi tramite


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

UnionWith

Union

IntersectWith

Intersect

ExceptWith

Except

Non fornito.

Distinct

SymmetricExceptWith

Non fornito.

Overlaps

Non fornito.

IsSubsetOf

Non fornito.

IsProperSubsetOf

Non fornito.

IsSupersetOf

Non fornito.

IsProperSupersetOf

Non fornito.

SetEquals

Non fornito.

Vedere anche

Riferimenti

HashSet<T>

Concetti

Tipo di raccolta HashSet

Parallel LINQ (PLINQ)

Operazioni sui set

Tipi di insieme comunemente utilizzati

Altre risorse

LINQ (Language-Integrated Query)