What does the question mark in member access mean in C#?(成员访问中的问号在 C# 中是什么意思?)
问题描述
谁能给我解释一下下面代码中成员访问中的问号是什么意思?
Can someone please explain to me what does the question mark in the member access in the following code means?
它是标准 C# 的一部分吗?尝试在 Xamarin Studio 中编译此文件时出现解析错误.
Is it part of standard C#? I get parse errors when trying to compile this file in Xamarin Studio.
this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));
AnalyzerFileReference.cs 行195
推荐答案
Null Propagation operator在C#6中引入,只有对象this.AnalyzerLoadFailed
不为null时才会调用该方法:>
It is Null Propagation operator introduced in C# 6, it will call the method only if object this.AnalyzerLoadFailed
is not null:
this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));
等于:
if( this.AnalyzerLoadFailed != null)
this.AnalyzerLoadFailed.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));
参见 C# 6.0 – 空传播运算符,您也可以在此处
我也曾经在 c# 6 中写过这个即将推出的特性 <强>这里
i also once wrote about this upcoming feature in c# 6 here
这篇关于成员访问中的问号在 C# 中是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:成员访问中的问号在 C# 中是什么意思?


- Windows 喜欢在 LINUX 中使用 MONO 进行服务开发? 2022-01-01
- 是否可以在 .Net 3.5 中进行通用控件? 2022-01-01
- 为什么 C# 中的堆栈大小正好是 1 MB? 2022-01-01
- 在 C# 中异步处理项目队列 2022-01-01
- 带问号的 nvarchar 列结果 2022-01-01
- 使用 rss + c# 2022-01-01
- C# 通过连接字符串检索正确的 DbConnection 对象 2022-01-01
- CanBeNull和ReSharper-将其用于异步任务? 2022-01-01
- Azure Active Directory 与 MVC,客户端和资源标识同一 2022-01-01
- 在 LINQ to SQL 中使用 contains() 2022-01-01