C#中的可空类型浅析

我们知道,所有的数据数据类型(包括Boolean数据类型)都是值类型。

按照规则,null是用来建立一个空的对象引用,所以 值类型 永远不可以被赋值为null。

但是.Net2.0以后,我们就可以创建可空数据类型了。

简而言之,可空类型可以表示所有实际类型的值加上null

为了定义一个可空变量类型,应在底层数据类型中添加问号(?)作为后缀。

注意,这种写法只对值类型是合法的
并且与非可空变量一样,局部可空变量必须赋一个初始值才能使用

?后缀记法实际上是创建一个泛型System.Nullable结构类型实例的简写。

??操作符

关于可空类型,可以使用 ?? 操作符。
即,在获得的值实际为null时,我们可以用这个操作符给一个可空类型赋值

eg:

//可空变量a
int? a=null;

//可空变量为null时,赋值0
int c = a ?? 0;

你可能感兴趣的:(.net)