[C#]Nullable Type用法简析
时间:2014-07-21 08:08 来源: 我爱IT技术网 作者:山风
在C#中,你不能把一个int或bool变量设置成null。比如说以下这个范例:
- bool b = null; //以下程序编译时会出现错误信息
- int i = null;
- DateTime date = null;
但是有时候我们使用的变量不一定有值怎么办? 这时候就可以用Nullable type。只要在声明变量时候在型态后面加一个问号,此变量就变成可以被设成null的Nullable type。
- bool? nullableBool = null;
- int? nullableInt = null;
- DateTime? nullableDate = null;
一般的变量可以自动转换成nullable type:
- int i = 5566;
- int? j = i;
如果要把nullable type转换成一般变量,就需要强制转换:
- int? i = 5566;
- int j = (int)i;
当一个变量是nullable type时,会自动多一个HasValue的特性。可以用来判断变量是不是null。如果是null的话HasValue会是false。反之有值不是null的话,就会是true。
- int? num = null;
- if (num.HasValue == true)
- {
- System.Console.WriteLine("num = " + num.Value);
- }
使用nullable type最大的优点就是可以让你程序比较不容易当掉,一些由user输入的变量可以声明成nullable type。如此一来当user输入错误数据时候,可以把变量设置成null之后再做处理。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
