gpt4 book ai didi

c# - 在 C# 中处理可以为 null 或数组的 json 类型

转载 作者:行者123 更新时间:2023-12-01 22:56:22 26 4
gpt4 key购买 nike

我收到来自 api 的响应,其中某些属性是列表,但是当它们为空而不是得到空列表时,我收到 null。现在我的问题是,我正在尝试创建我的模型的一个新实例,我在其中将该属性定义为字符串 [],但 api 调用返回该特定属性作为 IReadOnlyList。

示例:让我们调用 listOfNames 的属性,它可以是 null 或包含名称的列表; [“亨利”,“ jack ”]。 listOfNames 的类型是 IReadOnlyList。

当我尝试创建新实例时,例如:var newInstance = myModel(listOfName.ToArray()) 当 listOfNames 不为空时它工作正常,但当它为 null 时 ToArray()方法给出错误,因为它不能应用于 null。

在创建我的模型的新实例之前,如何解决这个问题而不必检查 if 语句。现在我已经解决了这个问题

var temp = Array.Empty<string>();
if(listOfNames != null){
temp = listOfNames;
}
var instance = myModel(temp);

如果只有一个这样的属性,上面的工作正常,但现在我有多个这样的属性,我不想用 if 语句处理每个属性。

最佳答案

您可以将 null 条件运算符与 null 合并运算符结合使用:

var instance = MyModel(listOfNames?.ToArray() ?? Array.Empty<string>());

关于c# - 在 C# 中处理可以为 null 或数组的 json 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73137211/

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