gpt4 book ai didi

.net - 使用 protobuf-net 序列化数组时如何处理空值?

转载 作者:行者123 更新时间:2023-12-03 02:15:27 24 4
gpt4 key购买 nike

以下语句失败并出现 NullReferenceException:

TypeModel.Create().DeepClone(new string[1]);

检查源代码发现异常是故意抛出的,这意味着数组中的 null 值违反了 Protocol Buffer 规范(这是有道理的,null 不是任何值的重复)。

好的,规范是正确的,但是如果集合中仍然存在空值我们该怎么办?除了确保没有 null 值渗入我们的集合之外,还有其他解决方案吗?

谢谢。

最佳答案

看这个:

http://code.google.com/p/protobuf-net/issues/detail?id=217

相关部分的引用:

Comment 4 by project member marc.gravell, Dec 14, 2011

I haven't documented that option yet (it was added as a specific request), but - at the moment you can only enable this via (for example):

RuntimeTypeModel.Default[typeof (YourType)][3].SupportNull = true;

where 3 is the field-number.

This should probably be available on the attribute model too...

请注意用户“will” - 我之前答案的删除者 - 我知道这不是最好的地方,但我不知道有其他方式向您发送消息,在这种情况下简单地保持安静是错误的:我是对于第一次“太短”的回答感到抱歉,但是编辑不是比突然删除更有建设性的方法吗?我提供的链接仍然确实回答了问题,评论也证明了这一点...我只是偶然发现您确实删除了它。

关于.net - 使用 protobuf-net 序列化数组时如何处理空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com