gpt4 book ai didi

c# - 如何在 C# 中将 null 数组反序列化为 null?

转载 作者:可可西里 更新时间:2023-11-01 09:13:21 24 4
gpt4 key购买 nike

这是我的类(class):

public class Command
{
[XmlArray(IsNullable = true)]
public List<Parameter> To { get; set; }
}

当我序列化这个类的一个对象时:

var s = new XmlSerializer(typeof(Command));
s.Serialize(Console.Out, new Command());

它按预期打印(省略了 xml header 和默认 MS 命名空间):

<Command><To xsi:nil="true" /></Command>

当我使用这个 xml 并试图反序列化它时,我卡住了,因为它总是打印“Not null”:

var t = s.Deserialize(...);
if (t.To == null)
Console.WriteLine("Null");
else
Console.WriteLine("Not null");

如果 xml 中的列表为空,如何强制反序列化器使我的列表为空?

最佳答案

如果您使用数组而不是列表,它会按预期工作

public class Command
{
[XmlArray(IsNullable = true)]
public Parameter[] To { get; set; }
}

关于c# - 如何在 C# 中将 null 数组反序列化为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2544254/

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