gpt4 book ai didi

未提供 C# XML 序列化 int 标记值

转载 作者:太空宇宙 更新时间:2023-11-03 20:35:18 27 4
gpt4 key购买 nike

我有一个可以序列化的类。其中一个属性是 int,如果没有为该字段提供值,则标签仍然存在但值为零,因为 int 当然不能为 null。

我遇到的问题是,如果没有提供值,想要接收 xml 的客户根本不想看到标签。他们不想看到值为 0 的标签。

有什么想法吗?

最佳答案

如果你让它成为一个 int? 它会在 null 时被抑制:

public int? Foo { get; set; }

您还可以在对象的 API 上隐藏它:

private int? foo;
public int Foo {
get { return foo.GetValueOrDefault(); }
set { foo = value; }
}
public bool ShouldSerializeFoo() { return foo.HasValue;}

其中 ShouldSerialize*XmlSerializer 自动识别的模式

关于未提供 C# XML 序列化 int 标记值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258178/

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