Ответ Jared корректен, но я нашел конкретное решение, это решило мою проблему.
Следование этому примеру, я изменил свое определение DataGridTextColumn:
И я не должен волноваться о столбце, наследовавшем DataContext. Это дает мне результат, который я хочу.
Вот быстрый метод изменения порядка байтов для одиночных чисел в байтовом массиве:
public static unsafe void SwapSingles(byte[] data) {
int cnt = data.Length / 4;
fixed (byte* d = data) {
byte* p = d;
while (cnt-- > 0) {
byte a = *p;
p++;
byte b = *p;
*p = *(p + 1);
p++;
*p = b;
p++;
*(p - 3) = *p;
*p = a;
p++;
}
}
}
Как выглядит распорядок вашего коллеги? Если он обращается к байтам явно, вы можете изменить код (или, скорее, создать отдельный метод для данных с прямым порядком байтов) вместо того, чтобы изменять байты.
Я использую LINQ:
var bytes = new byte[] {0, 0, 0, 1};
var littleEndianBytes = bytes.Reverse().ToArray();
Single x = BitConverter.ToSingle(littleEndianBytes, 0);
Вы также можете .Skip()
и .Take()
на свое усмотрение, или же использовать индекс в методах BitConverter.