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

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操作符:空值或是有意义的值

转载于:https://www.cnblogs.com/aaronday/p/3867604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值