C#的可空类型

可空类型就是说这个类型的变量时可以为空的;

比如说

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;

上面两个表达式是一个意思。

原文地址:https://www.cnblogs.com/HighFun/p/2532744.html