C#装箱与拆箱

对于值类型与引用类型之间的转换,可以用装箱与拆箱技术来实现。

1.装箱

 装箱操作是将值类型隐式地转换为引用类型。装箱一个数值会为其分配一个对象实例,并把该数值复制到新对象中。

例如:

   int i = 123;

  object o = i;

  这条装箱语句执行的结果实在堆栈中创建了一个对象o,该对象引用了堆上int类型的数值,而该数值是付给变量i的数值备份。

2.拆箱

 拆箱操作是指显式地把引用类型转换为值类型。拆箱操作包括以下两个步骤:

(1)检查对象实例,确认他是否包装了值类型的数。

(2)把实例中的值复制到值类型的变量中。

下面的语句演示了装箱和拆箱操作

int i = 123 ;

object box = i;

int j = (int) box;

可以看出,拆箱正是装箱的逆过程,但必须注意的是,装箱和拆箱必须遵循类型兼容的原则。

 

 

 

posted @ 2010-09-21 12:25  々蕞嗳の﹎  阅读(386)  评论(1编辑  收藏  举报