Мне нужно использовать byte[]
как ключ в Dictionary
. Поскольку byte[]
не переопределяет метод по умолчанию GetHashCode
, два отдельных объекта byte[]
, которые содержат одни и те же данные, будут использовать два отдельных слота в словаре. В основном я хочу это:
Dictionary<byte[], string> dict = new Dictionary<byte[], string>();
dict[new byte[] {1,2,3}] = "my string";
string str = dict[new byte[] {1,2,3}];
// I'd like str to be set to "my string" at this point
Есть ли простой способ сделать это? Единственное, о чем я могу подумать, - создать класс-оболочку, содержащий только byte[]
и переопределить GetHashCode
на основе содержимого byte[]
, но это похоже на склонность к ошибкам.