ITPub博客

首页 > Linux操作系统 > Linux操作系统 > .net的学习之路总结:值类型,引用类型,装箱,拆箱

.net的学习之路总结:值类型,引用类型,装箱,拆箱

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-03-04 15:33:37 0 删除 编辑

总结点基础知识:

 A.变量:(两种角度看)

 

  1. 声明位置角度

     局部变量:(方法变量) 存放在栈上-》随着生命周期《其所在的代码块》的结束被系统回收

     全局变量:(类变量) 存放在堆上-》随着其所在对象被垃圾回收

 

  2. 数据类型角度

     值类型:   直接存放数据本身

     引用类型:存放地址--》指向一个对象-》对象存活在堆上

 

B.结构和类在内存中的对比 (从图中很明显的可以看成内存分配情况)

从此处也可以看出,变量的存放位置,值类型存储在声明的地方(可能在堆也可能在栈),引用类型的就存储在堆中.

 

C.装箱

   值类型变量(a)赋给引用类型变量(b)时,CLR 会拷贝此值类型变量(a)到堆上,此时(b) 就是引用在堆上(a)的拷贝,这个过程就叫做装箱

下图是最好的展示:

 

 

D. 拆箱

  将已经装箱的值拷贝回去的过程,需要显示进行类型转换.

下图是最好的展示:

 

    简单做个总结,多总结多提高,希望能在博客园长期安家! 欢迎博友光临指导!  

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-628587/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766002