在C#中,如何优雅处理无效检查



当前我们的代码为

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]

最新更新