Мне нужно хранить таблицу поиска в качестве члена экземпляра в одном из моих классов. Таблица будет инициализирована при создании объекта. Каждая «строка» будет иметь 3 «столбца»:
StringKey (e.g., "car")
EnumKey (e.g., LookupKeys.Car)
Value (e.g, "Ths is a car.")
Я хочу выбрать структуру данных, которая обеспечит наилучшую производительность для поиска с помощью StringKey или с помощью EnumKey.
Неловко иметь 2 ключа для одного и того же значения словаря. Я никогда не сталкивался с этим раньше, поэтому мне интересно, что является нормой для такого рода вещей.
Я мог бы создать структуру Ключ / Значение / Значение вместо Ключ / Ключ / Значение, но мне интересно, какой тип влияния на производительность это может оказать.
Думаю ли я, что все это неправильно?