- static void Main(string[] args)
- {
- Int32 y = 5;
- object o = y;
- y = 6;
- Console.WriteLine(y+","+(Int32)o);
- Console.ReadLine();
- }
发生了几次装箱操作,几次拆箱?
前2次的装箱时最基本要判断出来的,最后一次,(int32)o, 这里要拆箱一次,对o拆箱完后,得到一个指针,指向堆栈上的int32字段,然后在对Int32进行装箱,保留指针在堆栈进行Concat.请参见System.String对象的静态方法Concat.我也可以直接写成Console.WriteLine(y + ", " + o);因为现在o本身就是object类型,直接传进去就行了,写成int32(o)目的是迷惑大家。