首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

请解释原理 装箱 拆箱,该如何解决

2012-01-06 
请解释原理装箱 拆箱static void Main(string[] args){object a 10object b aa 20Console.WriteL

请解释原理 装箱 拆箱
static void Main(string[] args)
  {
  object a = 10;
  object b = a;
  a = 20;
  Console.WriteLine(b);
  Console.Read();
  }

[解决办法]
a = 20
再一次装箱
a 指向一个新地址
b 不变
用object..ReferenceEquals
判断一下就清楚了
[解决办法]
首先你这段代码没有拆箱...

其次你需要明白一点...装箱的值类型实例虽然复制到堆上变成了引用类型,但其实例类型仍然是值类型...汤圆包张皮儿里面还是汤圆,不能变成饺子...

因此值类型实例不能在堆上直接操作,只能在栈上操作然后再次装箱,这时的a已经不是以前的a了,自然b更不可能是a了...

热点排行