流星

流星飞过的刹那,我....
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

int?和int?? - Nullable<T>

Posted on 2009-02-13 14:04  泥土  阅读(242)  评论(0编辑  收藏  举报

     ??   是比较简单的了.如果??运算符左操作数不是null,那么就返回左操数,否则,就返回右操作数.

     ?     用于给变量设置初始值的时候,给变量赋值为null.

 

      可空类型:对于一个类型,如果既可以给它分配一个值,也可以给它分配null,我就就说这个类型是可空的.例如,string的引用类型就是可空的.而类似int32的值类型不是可空类型。由于值类型的容量只够表示适合该类型的值,因为它不可为空;值类型没有表示空值所需的额外容量。

     但是如果你想将int32之类的值类型设置为null,就需要用到 ? 。

Nullable<T>泛型结构:表示基础类型为值类型的对象,值类型与引用类型一样也可以分配null。Nullable<T> 结构支持只将一个值类型用过可空类型。

 

public int? a= null;

public int getNum()
{
return this.a?? 0;   //如果使用int a 定义的话,a因为不能为null,所以会报错
}