跨越这行代码:
FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();
Run Code Online (Sandbox Code Playgroud)
这两个问号意味着什么,是某种三元运算符?谷歌很难找到.
通常,问号的主要用途是有条件的,x ? "yes" : "no".
但是我已经看到了它的另一个用途,但是找不到?例如运算符的这种用法的解释.
public int? myProperty
{
get;
set;
}
Run Code Online (Sandbox Code Playgroud) 与标准的if-else语句相比,?:运算符有什么好处和缺点.显而易见的是:
有条件的?:运营商
标准If/Else
根据声明,可读性似乎各不相同.在第一次接触到?:运算符后的一段时间内,我花了一些时间来精确地消化它是如何工作的.您是否会建议尽可能使用它,或者坚持if/else,因为我与许多非程序员一起工作?
虽然我正在研究委托其是实际上是一个抽象类中Delegate.cs,我看到了下面的方法中,我不明白
?它已经是一个引用(类)类型?[]? 参数的含义你能解释一下吗?
public static Delegate? Combine(params Delegate?[]? delegates)
{
if (delegates == null || delegates.Length == 0)
return null;
Delegate? d = delegates[0];
for (int i = 1; i < delegates.Length; i++)
d = Combine(d, delegates[i]);
return d;
}
Run Code Online (Sandbox Code Playgroud) .net c# null-coalescing-operator null-coalescing nullable-reference-types
我有一个代码片段来修改.在那里我发现了这样的语法.
Session("LightBoxID")?.ToString()
Run Code Online (Sandbox Code Playgroud)
我不明白那个问号(?)是什么意思.没有谷歌搜索帮助我任何提示
有人可以向我解释以下代码中成员访问中的问号是什么意思?
它是标准C#的一部分吗?尝试在Xamarin Studio中编译此文件时出现解析错误.
this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));
Run Code Online (Sandbox Code Playgroud)
有人可以解释下面的陈述如何运作.我知道?? 如果第一个参数不为null,则返回第一个参数.但是当我看到它时,我有点困惑?跟随'file'变量.
return file?.ImportStatus ?? ImportStatusEnum.Unknown;
Run Code Online (Sandbox Code Playgroud)