黑马程序员技术交流社区
标题:
什么是装箱(boxing)和拆箱(unboxing)?
[打印本页]
作者:
chenan0124
时间:
2013-12-16 13:49
标题:
什么是装箱(boxing)和拆箱(unboxing)?
本帖最后由 chenan0124 于 2013-12-16 14:35 编辑
什么是装箱(boxing)和拆箱(unboxing)? 会影响性能吗?
作者:
刘安成
时间:
2013-12-16 13:58
装箱:从值类型接口转换到引用类型。
拆箱:从引用类型转换到值类型。
object obj = null;//引用类型
obj = 1;//装箱,boxing。把值类型包装为引用类型。
int i1 = (int)obj;//拆箱。unboxing
作者:
鸡蛋壳
时间:
2013-12-16 14:16
装箱就是值类型转换为引用类型,拆箱就是引用类型转换为值类型。
作者:
y494890511
时间:
2013-12-16 14:27
1.值类型存储在栈上,引用类型存储在堆上。
2.C#类是引用类型,结构是值类型。
3..net很容易吧值类型转换为引用类型,所以可以在需要对象的任意地方使用值类型。例如,int可以赋予一个对象。从值类型转换为引用类型称为装箱。
4.如果方法需要把一个对象作为参数,同时传递一个值类型,装箱操作就会自动进行。另一方面,装箱的值类型可以使用拆箱操作转换为值类型。
5.在拆箱时,需要使用类型强制转换运算符。
作者:
雨中恋人
时间:
2013-12-16 16:04
1、装箱或者拆箱
1)、装箱指的就是将值类型转换为引用类型
2)、拆箱指的就是将引用类型转换为值类型
注意:发生装箱和拆箱要满足的大条件就是这两个类型之间存在继承关系。
如果这两个类型没有继承关系,那么就不存在装箱或者拆箱。
作者:
yuanlianxi03
时间:
2013-12-16 17:33
装箱:从值类型转换到引用类型(一般都是值类型转换成object类型)
拆箱:从“装箱后的值类型”中(应该说是引用类型但是为了区分常规的引用类型,它实际带有值类型数据成员的引用类型)返回值类型部分的起始地址,这一过程叫做拆箱;然而很多书上把利用返回来的地址将数据赋值给值类型对象这一过程也包含到了拆箱中,实际的拆箱是不包含赋值这一过程的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2