zoukankan      html  css  js  c++  java
  • C#中的装箱和拆箱的简单理解

    1.代码:

      int i = 3;
      //装箱
      object obj = i;
      //拆箱
      int y = (int)obj;

    2.过程:

      装箱操作分为以下3个步骤:
      (1)内存分配:在托管堆中内存分配内存空间用来存放复制的实际数据
      (2)完成实际数据的复制:将值类型实例的实际数据复制到新分配额内存中
      (3)地址返回,将托管堆中的对象地址返回给引用类型变量

      拆箱操作分为以下3个步骤:
      (1)检查实例:首先检查进行拆箱操作的引用类型是否为null,如果为null抛出异常,如果不为null则继续检查变量是否和拆箱后的类型是统一类型
      (2)地址返回:返回已装箱变量的实际数据部分地址
      (3)数据复制:将托管堆中的实际数据复制到栈中,由于较装箱和拆箱存在数据复制,所以比较耗费资源,最好的用泛型进行编程

    111
  • 相关阅读:
    OpenCV特征描述
    OpenCV特征点检测
    expect实现无交互操作
    文件的修改时间
    sshd登录攻击
    tcp三次握手和syn 洪水攻击
    vim使用
    PHP拓展开发
    【转】LINUX 手动建立SWAP文件及删除
    Ubuntu下crontab命令的用法
  • 原文地址:https://www.cnblogs.com/zwj-199306231519/p/11625723.html
Copyright © 2011-2022 走看看