可空类型就是说这个类型的变量时可以为空的;
比如说
int a;
这里的a无论怎么样也会有个值;
但是可空类型就不一样了
int? a;
a 有可能为null;
可空的运算
int? a; int? b; int? c = a + b;
运行的结果也要为int?,都则不会被编译。
如果要和其他运算符转化,需要显示转化;
int? a; int b; int c = (int)a + b;
如果a为null的时候,c为null,但是如果a为bool的时候,可进行& 和 | 的元算。
“??”表达式
int? a; int? b; a ?? b; a == b ? a:b;
上面两个表达式是一个意思。