方法调用上的问号语法
本文关键字:语法 调用 方法 | 更新日期: 2023-09-27 18:26:52
?
在以下C#代码中表示什么?
var handler = CallBack;
handler?.Invoke();
我已经读到,您可以在类型之前使用?
来指示它是一个可为null的类型。这是在做同样的事情吗?
这是使用null conditional operator
的C#代码,表示如果handler
为空,则此代码不会引发NullReferenceException
异常:
Delegate handler = null;
handler?.Invoke();
这避免了你在C#语言的早期版本中必须进行的空检查:
Delegate handler = null;
if (handler != null)
{
handler.Invoke();
}