【问题标题】:What is the meaning of the ?. and ?? operators是什么意思?。和 ??运营商
【发布时间】:2017-07-14 06:30:23
【问题描述】:

代码如下:

if(f1) 
{ 
    return a1?.a2 ?? a3 
}

谁能告诉这里这些运算符的用法?

【问题讨论】:

标签: c#


【解决方案1】:

首先是运算符 ??示例:

var c = a ?? b;

等价于

var c = a == null ? b : a;

第二个?就是不抛出 NullReferenceException 例子:

var c = a?.Name;

等价于

var c = a == null ? null : a.Name; 

避免ifs和长线是捷径

你收到了吗?

【讨论】:

  • 在 long ? 结尾的原始类型需要注意的重要一点。是它们都变成了可空类型。这意味着您不能直接与某些值进行比较。您可能必须使用 .GetValueOrDefault() 或其他一些 Nullable 函数。
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 2023-03-04
  • 2011-11-19
  • 2018-01-11
  • 2013-07-15
  • 2010-09-07
  • 1970-01-01
  • 2013-05-07
相关资源
最近更新 更多