создает массив из 256 логических значений и перебирает байтовый массив один за другим.
установите для каждого значения в массиве значение true, когда вы столкнетесь с ним. если вы встретите уже истинное значение, тогда байтовый массив имеет недопустимый формат
Я не совсем понимаю, что вы подразумеваете под битом "байтовый массив в порядке"
Вы также можете использовать bitarray
пример:
bool CheckForDuplicates(byte[] arr)
{
bool[] map = new bool[256];
foreach (byte b in arr)
{
if (map[b] == true)
return false;
map[b] = true;
}
return true;
}