下面这个C#程序中, int? x = null;语句中的?是什么意思? int y = x ?? -1; 的??有代表了什么意思?

2024-12-25 07:47:53
推荐回答(2个)
回答1:

变量定义中含有一个问号,意思是这个数据类型是Nullable类型的。
变量定义中含有两个问号,意思是取所赋值??左边的,如果左边为null,取所赋值??右边的。

其实代码里的注解已经说得很明白了。
int?x,意思是x 除了是int类型,还可以是null
int?x = null; 就是给x赋值为null
int y = x ?? -1; 意思就是如果x不是null,则将x赋值给y;如果x是null,则将-1赋值给y。

回答2:

int y = x ?? -1; 如果X是null 则y=-1 如果不是null 则y=x