目前我们的代码为
var val = (returnCode as Code).Element(1).Attribute[2].Value
你可以看到,代码得到了返回值,这是一个固定的Object,它非常危险,可能是null引用异常
我们可以编写很多if
来进行空检查,但还有其他优雅的方法可以处理吗?
答案 0 :(得分:0)
如果您在评估表达式时害怕潜在的null
,请使用 elvis运算符 ?.
代替.
来安全访问属性:< / p>
// val will be null if any in the chain is null
var val = (returnCode as Code)?.Element(1)?.Attribute[2]?.Value;
在访问索引之前,您还可以使用?[
检查数组是否为空:
Attribute?[2]