您的位置:首页 > 编程语言 > C#

C# in Depth Third Edition 学习笔记-- 可空类型

2014-07-25 13:43 411 查看
1. 没有值怎么办?

客户下了一份订单,有订货日期,但尚未发货,但没有发货日期,怎么表述发货日期? C#2以后使用可空类型。

2. 为什么值类型的变量不能是null?

引用类型变量,其值是一个引用,即一个非空引用值提供了访问一个对象 的途径,对于null来说,作为一个特殊值,意味着不引用任何对象。所有引用的默认值都为null,内存中表示全零。

值类型变量,其值是它本身的真实数据。null不是有效的值类型的值。

3. C#1 解决不存在可空值类型

魔值:DateTime,牺牲公元元年中的某个值DateTime.MinValue来表示空值。

引用类型包装:需要进行装箱和拆箱

额外的布尔标志:一般做法是将值和标志封装到另外一个值类型中。

4. System.Nullable<T>和System.Nullable

Nullable<T>是一个泛型类型,T有一个值类型约束,所以不能使用Nullable<Stream>或Nullable<Nullalbe<int>>。其有两个重要属性,HasValue和Value。Nullable<T>仍然是一个值类型。

?修饰符: int? nullable=5;

对可空类型使用as操作符:空值或是有意义的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: