当前我们的代码为
var val = (returnCode as Code).Element(1).Attribute[2].Value
您可以看到,代码获得返回值,这是一个固定的对象,非常危险,可能为null参考异常
我们可以写很多if
进行零检查,但是还有其他优雅的方法可以处理吗?
如果您在评估表达式期间害怕潜在的null
,请使用 elvis operator ?.
而不是.
安全地访问属性:
// val will be null if any in the chain is null
var val = (returnCode as Code)?.Element(1)?.Attribute[2]?.Value;
您也可以使用?[
检查数组在访问索引之前不是null:
Attribute?[2]