一、定义:
C#可空类型的定义很简单,一个简单类型的符号加一个问号即可,如:
int? cc
这样就定义了一个可空类型。
二、初始化:
可空类型的初始化与非可空类型的初始化有一个最大的不同就在于可以为可空类型分配null值,比如以下的方法都是可以的:
int? cc=10;
int? cc=null;(非可空类型绝对不能这样初始化)
三、使用
使用可空类型其实很简单,只需要首先判断它是不空值,可采用以下的方法
if(cc==null)
{
........
}
另外的一种方法是:可空类型有两个属性,一个是HasValue,一个是Value。其中第一个是用来判断它是不是null,如果是返回false,
如果不是返回true,当该属性的值为true时,可以使用Value属性获取它的值,比如cc.Value,当然也可以直接使用cc而不加Value.
if(cc.HasValuesl)
{
........
}
四、类型的转换
可空类型在不为Null的情况下,如果要转换为非可空类型,必须显示转换。
而非可空类型则可以隐式转换为可空类型,如以下的代码:
int dd=(int)cc;(此外缺少null值的判断代码,省略掉了)
int? cc=dd;