这是一个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
是在具有非空值的语句中的第一变量。