Стандарт CLI не запрещает какой-либо конкретный Endianness, поэтому, если вы хотите, чтобы ваша программа была переносимой, вы должны не зависеть от конкретного порядка байтов ... если, конечно, в сценариях, где конкретный байттребуется упорядочение, например, с некоторыми протоколами обмена данными (спасибо пользователю The Moof за указание на это).
Из CLI Annotated Standard (с.161) - РазделI, раздел 12.6.3: «Порядок следования байтов»:
Для типов данных размером более 1 байта порядок байтов зависит от целевого ЦП.Код, который зависит от порядка следования байтов, может работать не на всех платформах.[...]
Я подозреваю, что вы видели жестко запрограммированное значение для IsLittleEndian
в Reflector, потому что когда вы загружали / устанавливали .NET Framework на свой компьютер, именно эта установкапакет был нацелен на определенную платформу (например, Intel x86, которая является Little Endian).
Таким образом, я мог бы представить, что есть другие установочные пакеты .NET Framework, которые имеют IsLittleEndian
, встроенный для возвратаразличное значение, в зависимости от платформы, к которой относится данная установка.