zoukankan      html  css  js  c++  java
  • C#深入理解类型

    值类型:

      值类型通常存储在栈中,值类型管理由操作系统管理 

      

    引用类型:

      引用类型存储在堆中由GC管理

     引用类型嵌套定义值类型:

    值类型嵌套引用类型: 

    值类型继承自ValueType,ValueType有继承自System.Object 引用类型直接继承自System.Object

    值类型的内存不受GC控制,作用域结束后值类型会被操作系统自行释放,但是引用有GC来完成值类型性能能加存在优势

    类型转换

      隐式转换就是有低级别类型转换想高级别类型转换的过程,派生类可以隐式转换为他的父类。装箱过程就是属于这种隐式转换

      显示类型转换:这种转换可能会倒是损失精度,或者出现异常

      通过is和as运算符进行安全转换

      int i =3

      // 装箱

      object obj = i;

      // 拆箱

      int y = obj;

    代码的装箱过程式

    1.分配onj内存空间

    2.copy i变量的值放在内存中

    3.返回值存放的地址给obj变量 

    拆箱过程:

    1.检查o变量的值是否为null为null时发出异常,不为null检查拆箱后类型是否一直不一致异常

    2。返回o变量实际数据地址

    3。将托管堆中的数据复制到栈中

  • 相关阅读:
    PDO 数据访问抽象层
    递归例子
    Windows对象操作:浏览器窗口信息
    练习题:选择器和选择好友
    搭建wamp环境,数据库基础知识
    堆表空间管理
    vc弹出USB的方法. 附试验通过的代码!
    javascript 调用C++函数
    [转]在Win7 64位注册ActiveX控件
    SetForegroundWindow的正确用法
  • 原文地址:https://www.cnblogs.com/-alvin/p/10905486.html
Copyright © 2011-2022 走看看