Partager via


HashSet et LINQ, opérations ensemblistes

Cette rubrique compare les opérations HashSet<T> aux opérations ensemblistes LINQ (Language-Integrated Query).

Opérations ensemblistes LINQ

LINQ permet à quelques opérations ensemblistes d'accéder à une source de données quelconque qui implémente les interfaces IEnumerable ou IQueryable, notamment les tableaux et les collections.

Les opérations ensemblistes fournies par LINQ sont les suivantes :

  • Distinct

  • Union

  • Intersect

  • Except

Pour plus d'informations sur LINQ, consultez LINQ (Language-Integrated Query) et Parallel LINQ (PLINQ). Pour plus d'informations sur les opérations ensemblistes LINQ, consultez Opérations ensemblistes.

Quand utiliser HashSet <T>

La principale différence entre les opérations ensemblistes LINQ et les opérations HashSet<T> est que les opérations ensemblistes LINQ retournent toujours une nouvelle collection IEnumerable<T>, tandis que les méthodes équivalentes HashSet<T> modifient la collection actuelle. HashSet<T> fournit une collection plus grande et plus fiable d'opérations ensemblistes. Par exemple, HashSet<T> fournit des comparaisons, telles que IsSubsetOf et IsSupersetOf.

En général, si vous devez créer un ensemble ou si votre application n'a besoin d'accéder qu'aux opérations ensemblistes fournies, utilisez les opérations ensemblistes LINQ sur des collections ou des tableaux IEnumerable<T>. En revanche, si votre application doit accéder à des opérations ensemblistes supplémentaires ou si vous ne souhaitez/devez pas créer une nouvelle collection, faites appel à la classe HashSet<T>.

Opérations ensemblistes LINQ et HashSet <T>

Le tableau suivant affiche les opérations HashSet<T> et les opérations ensemblistes LINQ équivalentes.

Opération HashSet(Of T)

Équivalent LINQ

UnionWith

Union

IntersectWith

Intersect

ExceptWith

Except

Non fourni.

Distinct

SymmetricExceptWith

Non fourni.

Overlaps

Non fourni.

IsSubsetOf

Non fourni.

IsProperSubsetOf

Non fourni.

IsSupersetOf

Non fourni.

IsProperSupersetOf

Non fourni.

SetEquals

Non fourni.

Voir aussi

Référence

HashSet<T>

Concepts

HashSet, type collection

Parallel LINQ (PLINQ)

Opérations ensemblistes

Autres ressources

LINQ (Language-Integrated Query)

Types de collections couramment utilisés