黑马程序员技术交流社区

标题: 装箱和拆箱的问题 [打印本页]

作者: 张青江    时间: 2012-9-16 17:14
标题: 装箱和拆箱的问题
  1. static void Main(string[] args)
  2. {
  3.    Int32 x = 5;
  4.    Object o = x;
  5.    x = 123;

  6.    Console.WriteLine(x + ", " + (Int32)o);
  7. }
复制代码
这里面进行了几次拆箱和几次装箱呢?
作者: 郎乐乐    时间: 2012-9-16 22:48
3装箱1拆箱。
Object o = x;装箱
x + ", " + (Int32)o,过程中把int x 与(Int32)o强制装换成了string 也是两个装箱过程
(Int32)o拆箱
作者: 维纳斯之叶    时间: 2012-9-16 23:08
我觉得进行了一次装箱一次拆箱,输出123,5
Object o = x; 将x进行装箱 ,然后让o指向x的副本在堆中的内存地址
(Int32)o;将o进行拆箱。。
这是我的理解!!


作者: 维纳斯之叶    时间: 2012-9-17 17:52
郎乐乐 发表于 2012-9-16 22:48
3装箱1拆箱。
Object o = x;装箱
x + ", " + (Int32)o,过程中把int x 与(Int32)o强制装换成了string 也是 ...

嗯,是进行了三次装箱操作和一次拆箱操作。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2