Jam*_*man 2 c# delegates visual-studio-2015
Visual Studio中突出显示了以下代码片段以及简化它的建议.
if ( drawMethodsDelegate != null )
drawMethodsDelegate ( e.Graphics );
Run Code Online (Sandbox Code Playgroud)
当我点击灯泡建议时,Visual Studio将其重构为以下内容
drawMethodsDelegate?.Invoke ( e.Graphics );
Run Code Online (Sandbox Code Playgroud)
和不.问号不是拼写错误.我不明白问号用于什么,我在MSDN上找不到任何相关的东西.我还查看了Tutorial Point Delegates页面,但没有找到有用的信息.
Chr*_*tos 11
这是空条件运算符.
drawMethodsDelegate?.Invoke ( e.Graphics );
Run Code Online (Sandbox Code Playgroud)
如果drawMethodsDelegate不为null则调用该Invoke方法.它是一个在第6版语言中引入的运算符,您可以将其视为语法糖,它可以帮助您编写更少的代码来处理空检查.
最后但并非最不重要的是,abive check也是线程安全的!
有关详细信息,请查看此处
| 归档时间: |
|
| 查看次数: |
6499 次 |
| 最近记录: |