首页 > Linux操作系统 > Linux操作系统 > .net 中的装箱与拆箱
值类型实例的特点在于它是一般直接被分配在栈上的,通过其地址来引用。而当我们要分配一个引用类型的实例时,先在堆中创建这个实例存放区域,然后在栈中放 一个变量,来存储该区域的地址。我们的引用实例,实际上是这个地址值,而不是堆中那一块存储空间。目前来说,我还没有领会到这种设计方式的好处在哪儿。
至于装箱,拆箱,就是将值类型的基本类型与System.Object类之间进行互相转换,为什么要设计这种可以进行转换的机制呢,我想目的就是为了让一 个接受Object对象类型的函数,不仅仅能够接受常见的类引用对象,而且可以接受普通的值类型对象。而如果就为了这个效果,将所有的基本类型设计为引用 类型,那么从执行效果上来说,是要更费事的,毕竟一个int变量,你不直接操纵它,而要绕个弯通过它的地址来操作,又费空间又费时间。所以就设计了这么一 种途径。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-625437/ ,如需转载,请注明出处,否则将追究法律责任。