关于可空类型

值类型后面加问号表示可为空null(Nullable 结构)

Nullable是.NET 2.0中新提供的一种用于标明一个值类型是否可以为空的技术。

  对于一个类型,如果既可以给它分配一个值,也可以给它分配空引用null(表示没有任何值),我们就说这个类型是可空的。

  因此,可空类型可表示一个值,或表示不存在任何值。例如,类似 String 的引用类型就是可空类型,而类似 Int32 的值类型不是可空类型。Nullable 结构支持将值类型扩展为可以为null,但不支持在引用类型上使用,因为引用类型本身就是可空的。

  因为值类型的容量只够表示适合于该类型的值,因此它不可为空;值类型没有表示空值所需的额外容量。

  例:public int? age;
空间类型简介
空属类型允许一个值类型具有“空值“意义,从而方便很多场合的运算,如数据库中的空字段。
空属类型演示:
int i=123;
int? x= i;
double? y = x;
int? z=(int?)y;
空属类型的几个注意点
 空属类型实际上一个泛型类型。System.Nullable<T>。空属类型的基础类型就是System.Nullable<T>的类型参数,其中T必须为值类型。
 空属类型如果值不为空,可以运用同样的基础类型所具有的运算。如+,-,*,/
 空属类型的HasValue属性用来判断类型是否为空,如果不为空,则可以通过Value属性来获取它的基础类型的值。


空属类型(可空类型)是个值类型。
System.Nullable

 int?表示int的空属类型,这个值既可为int类型,也可以为空。

有值+没值加起来等于没值。


int? y = null;
object obj = null;   表示引用的值为空。

原文地址:https://www.cnblogs.com/mingle/p/1535100.html