Но с другой стороны у этого метода хранения данных есть другой положительный момент.
Например можно в словаре хранить несколько одинаковых ключей. Это значит одному набору данных можно присвоить несколько разных значений.
byte[] bufer1 = new byte[5] { (byte)4, (byte)0, (byte)91, (byte)204, (byte)2 };
byte[] bufer2 = new byte[5] { (byte)4, (byte)0, (byte)91, (byte)204, (byte)2 };
Dictionary<byte[], string> Dict = new Dictionary<byte[], string>();
Dict.Add(bufer1, "bla bla bla");
Dict.Add(bufer2, "tra la la");
Правда извлечение и выборку придется производить полным перебором словаря и сравнением содержимого ключей, что малость энергозатратно.