c# - 在 C# 中序列化在 C# 中反序列化 BitConverter 和 Endianness 保证

标签 c#

如果 BitConverter.IsLittleEndian 被硬编码为

最佳答案

没有。 C#可以编译运行在dotnetcore下。在这里,您将 IsLittleEndian 硬编码为 true 的假设是不正确的。它在编译时被硬编码为一个值,但这可能是truefalse,具体取决于编译目标。

参见 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 core 不支持,但 Mono 可以针对一些大端架构。

关于c# - 在 C# 中序列化在 C# 中反序列化 BitConverter 和 Endianness 保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789938/

相关文章:

c# - 当测试并行运行时,FakeItEasy 有时无法创建假货

javascript - 外部脚本在 Windows Phone App 8.1 中不起作用

c# - 读取包含不规则换行符的文件

c# - WCF 使用 SOAP 1.2,即使 MessageVersion 是 Soap11WSAddressing10

c# - 忽略毫秒的 LINQ DateTime 查询

c# - 将 XPathDocument 转换为字符串

c# - 在应用程序中编译 C# 代码

c# - iTextSharp System.NullReferenceException

c# - 如何让 C# 文本框自动完成以根据包含而不是开头提出建议?

c# - 为什么我的 linq 查询的值不立即出现?