C# 将浮动更改为双浮动

C# 将浮动更改为双浮动,c#,serialization,protobuf-net,C#,Serialization,Protobuf Net,如果我将一个字段从float改为double,是否会破坏格式的向后兼容性?应该这样做是有道理的,但在我的测试中没有 另一方面,我猜float和double有不同的导线类型,这可以让protobuf网络正确处理情况并进行浇铸 任何地方都有关于这类东西的文件吗;博士版本:“那很好” 在有线级别,这是固定的4字节编码与8字节编码之间的区别,因此,如果您这样做,未来的序列化将需要每个值多几个字节 在protobuf net的情况下,默认情况下它是非常宽容的-因此该不会破坏现有数据。它尝试处理尽可能多的常

如果我将一个字段从float改为double,是否会破坏格式的向后兼容性?应该这样做是有道理的,但在我的测试中没有

另一方面,我猜float和double有不同的导线类型,这可以让protobuf网络正确处理情况并进行浇铸

任何地方都有关于这类东西的文件吗;博士版本:“那很好”

在有线级别,这是固定的4字节编码与8字节编码之间的区别,因此,如果您这样做,未来的序列化将需要每个值多几个字节

在protobuf net的情况下,默认情况下它是非常宽容的-因此该不会破坏现有数据。它尝试处理尽可能多的常见/可能的更改,并且处理得很好。其他实现可能更为严格,因此,如果您出于互操作目的使用它,我不能对“另一端”(意思是:其他一些protobuf实现)做出任何声明。为了帮助实现这一点,还有一个可选的/opt-in-strict模式(默认情况下禁用)。如果启用了该选项,则只允许精确的表示(因此:浮点为32位,双精度为64位)