Структура данных коллекции C# с сопоставлением ключей и значений 1:1

Существуют ли какие-либо встроенные структуры данных C#, похожие на хэш-таблицу, но требующие, чтобы ключи и значения были уникальными друг для друга? В основном мне нужен способ поиска моего объекта Key в таблице с помощью уникального значения и наоборот. Помимо поддержки двух хеш-таблиц или повторения каждого ключа в хеш-таблице (что медленно), я не могу придумать лучшего способа реализовать это.

Является ли тот факт, что у меня даже есть этот запрос, признаком того, что я что-то неправильно проектирую в своем коде?


person Matthew Ruston    schedule 05.11.2008    source источник


Ответы (2)


Это не обязательно недостаток дизайна, но в фреймворк ничего не встроено. К счастью, недавно возник очень похожий вопрос, и я написал ответ, который должен сослужить вам хорошую службу.

person Jon Skeet    schedule 05.11.2008
comment
Похоже, это именно то, что я искал! Спасибо. - person Matthew Ruston; 05.11.2008

Коллекции Google называют это BiMap. Может быть, вы могли бы портировать это на C #?

person erickson    schedule 05.11.2008