Структура данных коллекции C # с отображением ключа / значения 1: 1
-
06-07-2019 - |
Вопрос
Существуют ли какие-либо встроенные структуры данных C #, которые похожи на хеш-таблицу, но требуют, чтобы и ключи, и значения были уникальными друг для друга? Я в основном хочу найти свой объект Key в таблице с помощью уникального значения и наоборот. Помимо поддержки двух хеш-таблиц или итерации по каждому ключу в хеш-таблице (что является медленным), я не могу придумать лучшего способа реализовать это.
Является ли тот факт, что у меня даже этот запрос, признаком того, что я что-то неправильно проектирую в своем коде?
Решение
Это не обязательно недостаток дизайна, но нет ничего встроенного в структуру. К счастью, недавно был очень похожий вопрос, и я написал ответ, который должен послужить вам хорошо .
Другие советы
Google Коллекции называют это BiMap . Может быть, вы могли бы перенести это на C #?