可以安全地假设仅将int
硬编码为BitConverter.IsLittleEndian
true
不会受到体系结构字节序的影响。
答案 0 :(得分:3)
不。可以将C#编译为在dotnetcore下运行。在这里,您将IsLittleEndian
硬编码为true
的假设是不正确的。在编译时将其硬编码为值,但这可能是true
或false
,具体取决于编译目标。
请参见https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/BitConverter.cs#L21
#if BIGENDIAN
[Intrinsic]
public static readonly bool IsLittleEndian /* = false */;
#else
[Intrinsic]
public static readonly bool IsLittleEndian = true;
#endif
显然,虽然.NET / dotnet核心没有,但是Mono可以针对某些大端架构。