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<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 |
---|---|
No proporcionada |
|
No proporcionada |
|
No proporcionada |
|
No proporcionada |
|
No proporcionada |
|
No proporcionada |
|
No proporcionada |
|
No proporcionada |