【发布时间】:2022-07-27 19:39:52
【问题描述】:
我收到来自 api 的响应,其中某些属性是列表,但是当它们为空而不是获得空列表时,我收到 null。 现在我的问题是我正在尝试创建模型的新实例,在该实例中我将该属性定义为 string[] 但 api 调用将该特定属性返回为 IReadOnlyList。
示例:让我们调用 listOfNames 的属性,该属性可以为 null 或包含名称的列表; [“亨利”,“杰克”]。 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 语句处理每一个。
【问题讨论】: