这是一个if else语句吗?

可能重复:
C#中两个问号在一起意味着什么?

我刚刚遇到下面的代码,并不确定它是什么意思,不能谷歌它,因为谷歌省略了??

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

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


它被称为空合并运算符。

如果值的左边的??null ,然后使用右边的值?? 否则使用左手值。

展开:

y = x == null ? 5 : x

要么

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

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

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

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

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

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

链接地址: http://www.djcxy.com/p/53835.html

上一篇: Is this an if else statement

下一篇: What does ?? mean in C#?