¿Hay alguna estructura de datos en C# que sea como un diccionario pero que solo tenga una clave y no tenga un valor? Básicamente quiero una lista de enteros que pueda buscar rápidamente y ver si hay un cierto valor en la lista. De acuerdo, para mi uso actual, una Lista no causaría ningún problema de rendimiento, pero parece que no encaja bien con la intención de lo que mi código está haciendo.C# Data Structure Like Dictionary pero sin un valor
48
A
Respuesta
73
Sí, se llama HashSet<T>
y está disponible en la versión 3.5 del .NET framework. Si usa .NET versión 2.0, puede usar un diccionario y establecer valores en null.
0
o utilizar un SortedList donde los valores tienen que ser únicos
4
Si 3.5 no es una opción que podría hacer algo como Diccionario < int, int> y simplemente ignorar el valor. He hecho esto en 2.0 y tiendo a establecer el valor en la misma clave.
2
Si no tiene como objetivo .NET 3.5, Power Collections (código abierto) también proporciona una implementación de Conjunto.
Cuestiones relacionadas
- 1. List Data Structure C# Efficiency
- 2. Loop Java HashMap like Python Dictionary?
- 3. iPhone fetch data dictionary from keychain
- 4. ¿Hay una clase como Dictionary <> en C#, pero solo para las claves, sin valores?
- 5. C# Dictionary to .csv
- 6. C# Dictionary Memory Management
- 7. C# Dictionary usando TValue dentro de otro Dictionary
- 8. cómo actualizar el valor almacenado en Dictionary in C#?
- 9. C# Dictionary Performance
- 10. C# Shallow copy Dictionary?
- 11. C# Array or Dictionary?
- 12. C# Dictionary of arrays
- 13. Modo Emacs para un lenguaje c-like
- 14. Tecla siguiente en C# Dictionary
- 15. C# valor se declara pero nunca utilizado
- 16. formato a un doble valor como moneda, pero sin el signo de moneda (C#)
- 17. Diferencia de Dictionary.Add vs Dictionary [tecla] = valor
- 18. ASP.Net MVC View Structure
- 19. complex graphviz tree structure
- 20. Dictionary/HashTable Object in C++?
- 21. Java - Tenedor C-Like?
- 22. ZeroMQ: cómo lograr un multihilo C-like
- 23. redis structure, performance
- 24. BeginThread Structure - Delphi
- 25. Pyramid project structure
- 26. Printing Table's structure/schema
- 27. SWIG Python Structure Array
- 28. MVC 3 project structure
- 29. C# dictionary o simplemente sigue usando listas?
- 30. Java Swing Program Structure
Tenga en cuenta que Hashset se introdujo en .NET Framework 3.5. Si está en una versión anterior, creo que usa un Dictionary y establece todos los valores en null. –
codeape
Otro enfoque en .NET 2.0 es usar 'KeyedCollection' y definir el método extractor de claves como identidad de valor. –
más información sobre el uso de hashset: http://bit.ly/1FYcf –