ProtoBuff.Net不支持null。为什么?

时间:2016-10-13 10:44:05

标签: c# protocol-buffers protobuf-net

为什么ProtoBuff.Net不支持null

我正在浏览ProtoBuf,并想知道为什么不支持null值。当我们尝试分配null值时,它会给出异常。即使像字符串这样的ref也不支持这个。

pb::ThrowHelper.ThrowIfNull(value, "value"); 

我知道PROTO希望将事物保持在最低限度,以便它支持大量语言(这就是为什么没有DateTime),但是null是跨语言的概念吗?

或者我可能会忽视某些事情。

1 个答案:

答案 0 :(得分:3)

简单地说,因为底层协议规范(“protobuf”)没有null的概念而无法表达它。如果我不能在协议中表达它,那么可以支持的最好的是某种隐含的“缺少某些东西意味着不管它意味着它可能是null”。