zoukankan      html  css  js  c++  java
  • [C#] 可空类型的实现原理

      int? 是可为null的值类型。只比int多一个值就是null。

      

    思考:

      同样的内存空间,怎么实现的多一个值的?都是4字节,32位,int?靠什么存在一个null值的。

    发现:

      分析一下内存,看看如何实现。

      当int i = max;  int? j = max;  发现j的下一个4字节地址的值和i一样。

      

      给j赋值null,原来的1变为0.

      

      给j赋值0,原来的0变为1. j赋值1,还是1. j赋值负数,还是1.

      

    结果:

    断定int? 原来是8个字节,前4个字节为1时,不为null。后4个字节和普通的int类型完全一样。  

    int? bool? 这种可空类型的存在意义

    1.为了匹配数据库中对应的类型。

    2.有的控件状态就是3种。如:checkbox ,选中、未选中、未全选

  • 相关阅读:
    迷你资源管理器
    简单工厂和单例的一些事
    面向对象的七大原则
    继承和多态的一些事
    体检套餐系统
    信仰
    魔兽争霸系统
    优化MySchool总结习题
    事务,视图及索引
    [LeetCode] Combinations
  • 原文地址:https://www.cnblogs.com/neverc/p/4620628.html
Copyright © 2011-2022 走看看