Gibt es in C# irgendeine Datenstruktur, die wie ein Dictionary ist, aber nur einen Schlüssel hat und keinen Wert hat. Ich möchte im Grunde eine Liste von ganzen Zahlen, die ich schnell nachschlagen kann und sehen, ob ein bestimmter Wert in der Liste ist. Zugegeben, für meine derzeitige Verwendung würde eine Liste kein Leistungsproblem verursachen, aber es scheint einfach nicht gut mit der Absicht dessen übereinzustimmen, was mein Code tut.C# -Datenstruktur wie Dictionary aber ohne Wert
48
A
Antwort
73
Ja, es heißt HashSet<T>
, und in Version 3.5 des .NET-Framework verfügbar. Wenn Sie .NET Version 2.0 verwenden, können Sie ein Dictionary verwenden und Werte auf Null festlegen.
0
oder eine SortedList verwenden, in denen Werte eindeutig sein
4
Wenn 3.5 ist keine Option, Sie so etwas wie Wörterbuch < int tun könnte, int> und einfach den Wert ignorieren. Ich habe dies in 2.0 getan, und ich neige dazu, den Wert auf den gleichen wie den Schlüssel einzustellen.
2
Wenn Sie nicht auf .NET 3.5 abzielen, bietet Power Collections (Open Source) auch eine Set-Implementierung.
Verwandte Themen
- 1. Verweis auf einen Dictionary-Wert
- 2. C# Dictionary: Mehrere KEYS pro Wert
- 3. C# Datenstruktur zum Sortieren gegen bestimmte Werte
- 4. List Datenstruktur C# Effizienz
- 5. C# Datenstruktur zum Indexwert mit DateTime
- 6. C# Dictionary mit zwei Werten pro Schlüssel?
- 7. Datenstruktur für Key-Wert in Java ohne Sammlung erstellen
- 8. Dictionary in C++ mit einer Map ohne Werte, nur Schlüssel
- 9. Überprüfung boolescher Wert von Dictionary.
- 10. C# Dictionary Memory Management
- 11. Welche C# -Datenstruktur soll verwendet werden?
- 12. C# Dictionary zu .csv
- 13. Const Dictionary in C#
- 14. C#: Dictionary Werte Umwandlung
- 15. Concurrent Dictionary in C#
- 16. Alternde Datenstruktur in C#
- 17. C/C++/Datenstruktur Online Test
- 18. Wörterbuch/Karte/Schlüssel-Wert-Paare Datenstruktur in C
- 19. C-Datenstruktur-Bibliothek
- 20. Bind-Dictionary zu ItemsControl in C#/WPF
- 21. C# Wert wird deklariert, aber nie verwendet
- 22. C# Dictionary entspricht in JavaScript
- 23. Nächster Schlüssel in C# Dictionary
- 24. Wie Speicher für meine Datenstruktur in C
- 25. Get Dictionary-Taste mit dem Wörterbuch-Wert
- 26. Java Dictionary Wert des Typs Tupel
- 27. C# dictionary <> fehlender Schlüssel
- 28. Reverse-Stack ohne Verwendung einer Datenstruktur
- 29. Minimal JSON-Datenstruktur mit einem Wert
- 30. Get Dictionary Keys Hashes ohne Neuberechnung
Beachten Sie, dass Hashset in .NET Framework 3.5 eingeführt wurde. Wenn Sie eine frühere Version verwenden, schätze ich, dass Sie ein Dictionary verwenden und alle Werte auf null setzen. –
codeape
Ein anderer Ansatz in .NET 2.0 besteht darin, 'KeyedCollection' zu verwenden und die Schlüsselextraktionsmethode als Wertidentität zu definieren. –
mehr Info über die Verwendung von hashset: http://bit.ly/1FYcf –