То, что вы сделали, работает.Чтобы проверить это, вы можете заменить:
if(BitConverter.IsLittleEndian)
на:
if (false/*BitConverter.IsLittleEndian*/)
и проверить с помощью отладчика, действительно ли перепутаны байты.Если так (то есть), то это работает, потому что разница между Little-Endian и Big-Endian заключается в порядке следования байтов.
Только один комментарий к вашему коду (это, вероятно, больше в области действия Code Review ):
Использование:
Array.Reverse(littleEndianBytes);
в методе:
Int32 FromLittleEndianBytes(this byte[] littleEndianBytes)
не лучшая практика, так как вы переворачиваете отправленный байтовый массивк методу.Пользователь метода может не ожидать этого и быть сбитым с толку.