当前位置:  开发笔记 > 编程语言 > 正文

方法调用上的问号语法

如何解决《方法调用上的问号语法》经验,为你挑选了1个好方法。

什么是?下面的C#代码说明什么?

var handler = CallBack;
handler?.Invoke();

我已经读过你可以使用a ?之前的类型来表明它是一个可以为空的类型.这是做同样的事吗?



1> Darin Dimitr..:

这是C#6代码,使用null conditional operator指示NullReferenceException如果handler为null ,此代码不会抛出异常:

Delegate handler = null;
handler?.Invoke();

这样可以避免编写在以前版本的C#语言中必须执行的空检查:

Delegate handler = null;
if (handler != null)
{
    handler.Invoke();
}


@GrantWinney我认为当有人从谷歌那里得到这个问题时,他们会看到指向另一个问题的路标.然后,他们会读到以前没有简洁的方法来做空条件检查,但是现在有......而且他们会有一个"啊哈!" 各种各样的时刻.
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有