这是否是if else声明

时间:2012-08-23 13:45:50

标签: c# if-statement

  

可能重复:
  What do two question marks together mean in C#?

我刚刚看到下面的代码并且不确定它意味着什么并且不能谷歌它因为谷歌省略了??

int? x = 32;
int  y = x ?? 5;

第二行是if else语句,??是什么意思

4 个答案:

答案 0 :(得分:12)

它被称为null-coalescing operator

如果??左侧的值为null,请使用??右侧的值,否则请使用左手值。

扩大了:

y = x == null ? 5 : x

if(x == null)
     y = 5
else
     y = x

答案 1 :(得分:2)

if(x == null)
     y = 5
else
     y = x

答案 2 :(得分:1)

??运算符与变量集合一起使用,并计算第一个非null变量的值。例如,请考虑以下代码:

int? x = null;
int? y = null;
int? z = null;

y = 12;
int? a = x ?? y ?? z;

a的值将为12,因为y是语句中具有非空值的第一个变量。

答案 3 :(得分:0)

是这是if else声明。 看一下这个网址http://www.webofideas.co.uk/Blog/c-sharp-double-question-mark-syntax.aspx