Compartir a través de


Operaciones HashSet y Set de LINQ

En este tema se comparan las operaciones HashSet<T> y las operaciones Set de Language-Integrated Query (LINQ).

Operaciones Set de LINQ

LINQ proporciona acceso a algunas operaciones Set para los orígenes de datos que implementan las interfaces IEnumerable o IQueryable. Se incluyen matrices y colecciones.

Las operaciones Set que LINQ proporciona son las siguientes:

  • Distinct

  • Union

  • Intersect

  • Except

Para obtener más información acerca de LINQ, vea LINQ (Language-Integrated Query) y Parallel LINQ (PLINQ). Para obtener más información sobre las operaciones Set de LINQ, vea Operaciones Set.

Cuándo se ha de utilizar HashSet<T>

La principal diferencia entre las operaciones Set de LINQ y las operaciones HashSet<T> es que las primeras siempre devuelven una colección IEnumerable<T> nueva, mientras que los métodos equivalentes de HashSet<T> modifican la colección actual. HashSet<T> proporciona una colección de operaciones Set mayor y más sólida. Por ejemplo, HashSet<T> proporciona comparaciones tales como IsSubsetOf y IsSupersetOf.

Normalmente, si tiene que crear un conjunto nuevo o si la aplicación necesita acceso sólo a las operaciones Set proporcionadas, será suficiente utilizar operaciones Set de LINQ en cualquier matriz o colección IEnumerable<T>. Sin embargo, si la aplicación necesita acceso a otras operaciones Set, o si no es deseable o necesario crear una colección nueva, utilice la clase HashSet<T>.

Operaciones HashSet<T> y Set de LINQ

En la tabla siguiente se muestran las operaciones HashSet<T> y sus operaciones Set de LINQ equivalentes.

Operación HashSet(Of T)

Equivalente de LINQ

UnionWith

Union

IntersectWith

Intersect

ExceptWith

Except

No proporcionada.

Distinct

SymmetricExceptWith

No proporcionada.

Overlaps

No proporcionada.

IsSubsetOf

No proporcionada.

IsProperSubsetOf

No proporcionada.

IsSupersetOf

No proporcionada.

IsProperSupersetOf

No proporcionada.

SetEquals

No proporcionada.

Vea también

Referencia

HashSet<T>

Conceptos

Tipo de colección HashSet

Parallel LINQ (PLINQ)

Operaciones Set

Otros recursos

LINQ (Language-Integrated Query)

Tipos de colección utilizados normalmente