Compartir a través de


Operaciones HashSet y Set de LINQ

Actualización: noviembre 2007

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

  • Unión

  • Intersect

  • Except

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

Cuándo se ha de utilizar HashSet&lt;T&gt;

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&lt;T&gt; 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

Conceptos

Tipo de colección HashSet

Operaciones Set

Referencia

HashSet<T>

Otros recursos

Language-Integrated Query (LINQ)

Tipos de colección utilizados normalmente