Мне нужно использовать 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[], но это похоже на склонность к ошибкам.