一个可以为空的 int 类型表示为:
Nullable< int > i=null;
也可以表示为:
int ? i=null;
基元类型提供了其对应可空类型的隐式转换,如下所示:
int? i=null;
int j =0;
i=j;
反过来,可空类型不可隐式转换为对应的基元类型,正确的转换形式如下:
int? i=123;
int j;
if(i.HasValue)
{
j=i.Value;
}
else
{
j=0;
}
简化形式为:
int? i=123;
int j=i ?? 0;
int j=i ?? 0;表示的是:如果 i 的 HasValue为true,则将 i 的 value 值赋值给j ,否则,就给 j 赋值为 0。