.NET Generic Set?

votos
10

¿Existe un contenedor genérico que implemente el comportamiento 'set' en .NET?

Sé que podría usar un Dictionary<T, Object>(y posiblemente agregar nullscomo valores), porque sus teclas actúan como un conjunto, pero tenía curiosidad si había algo listo.

Publicado el 09/12/2008 a las 20:21
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
19

HashSet<T> en .NET 3.5

Respondida el 09/12/2008 a las 20:27
fuente por usuario

votos
3

Yo uso el Iesi.Collections. espacio de nombres que viene con NHibernate (documentos aquí ) - tal vez vale la pena considerar si está en .NET <3.5

Respondida el 09/12/2008 a las 20:31
fuente por usuario

votos
1

Introducido en .NET 3.5: HashSet<T>(ver más abajo).

Introducido en .NET 4.0: ISet<T>:

Proporciona la interfaz base a la producción de conjuntos. Esta interfaz proporciona métodos para conjuntos de ejecución, que son colecciones que tienen elementos únicos y operaciones específicas.

La interfaz tiene dos implementaciones en el .NET 4+ BCL:

  • HashSet<T>:

    ... proporciona operaciones de conjuntos de alto rendimiento. Un conjunto es una colección que no contiene elementos duplicados, y cuyos elementos son en ningún orden en particular

  • SortedSet<T>:

    Representa una colección de objetos que se mantiene en forma ordenada. A SortedSet (Of T) mantiene un orden clasificado como elementos se insertan y se eliminan sin afectar al rendimiento. No se permiten elementos duplicados.

Fwiw: También hay un bajo el espacio de nombres . Su único propósito parece ser el uso en la aplicación de .internal class TreeSet<T>: SortedSet<T>System.Collections.Generic
SortedDictionary<TKey, TValue>

Respondida el 02/10/2013 a las 17:06
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more