Net复习笔记:第三章:拆箱和装箱

  1. 装箱和拆箱的过程是:装箱就是,在托管堆里面分配新建对象内存,将值类型拷贝到该内存中,返回新对象的地址,拆箱就是,在托管堆里面找到属于值类型的指针,并将托管堆里面的数据返回给值类型(返回已经装箱对象中属于值类型备份的字段地址),拆箱和装箱并不是完全对等互逆的,拆箱的想能开销远小于装箱,只有装箱过得对象才可以拆箱,将没有装箱过得引用对象拆箱会报错
  2. 真正的拆箱是不包括字段的拷贝的,(但是在通常情况下在拆箱之后都会紧跟着一个字段拷贝的操作“一般是赋值”)
  3. 拆箱和装箱主要是对值类型而言的,因为引用类型总是以装箱形式存在的
  4. 拆箱和装箱分为,显示转化和隐式转化
  5. 拆箱和装箱会带来很大的性能问题
  6. 泛型可以大大的避免拆箱和装箱操作
  7. GetType方法是有Object提供的,因此值类型调用GetType的时候必定会装箱,Tostring一般是被重写的不会装箱
posted @ 2013-12-23 16:30  瀚海行舟  阅读(100)  评论(0编辑  收藏  举报