Есть ли такой класс, как Dictionary <> в C #, но только для ключей нет значений? - PullRequest
52 голосов
/ 06 марта 2010

Я предполагаю, что другим способом сформулировать это будет "Есть ли класс, подобный List<> в C #, но оптимизированный для проверки наличия определенного значения?" Я уверен, что для небольшого набора значений List<>.Contains, вероятно, будет хорошо, но что, если у меня есть набор из тысяч или миллионов значений, и я хочу выяснить, было ли в нем определенное значение?

Я реализовывал подобные вещи в прошлом, создав Dictionary<object, int> и установив значение 0 для каждого ключа, но это кажется очень неуклюжим. А теперь есть переполнение стека, где мой глупый вопрос может превратиться в образование для тысяч (даже десятков). Так что вот оно!

Я даже не уверен, как будет называться такой класс, кроме, возможно, Set, так что, очевидно, поиски по этой теме были ... сложными :)

1 Ответ

66 голосов
/ 06 марта 2010

Попробуйте использовать класс HashSet<T>.

Редактировать: я потратил много времени на то, что вы делали, пока не наткнулся на этот класс, читая блог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...