int i = 2000;
            object o = i;
            i = 2001;
            int j = (int)o;
            Console.WriteLine("i={0},o={1},j={2}", i, o, j);先写答案,再验证
输出的结果是什么……

解决方案 »

  1.   

    i=2001,o=2000,j=2000这个就是考拆箱装箱,内部做了啥,值类型的拷贝么。
      

  2.   

    不过和拆箱装箱基本无关。当然你要说对object调用ToString()那也可以,不过根本无须考虑。
    等价如下代码:
      int i = 2000;
      int o = i;
      i = 2001;
      int j = o;
      

  3.   

    按我理解考的就是拆箱装箱,object o = i;就是申请堆内存,大小为同步快索引+内存对象指针+i的大小...将i copy到堆内存上,这时候o和i没啥关系,然后改i就只是改i,int j = (int)o; 就是找到o中的整型变量存储值拷贝出来,j又和o没啥关系了。不过出题者的目的是啥,也只有他自己知道了...
      

  4.   

    i=2001,o=2000,j=2000,这个问题初步理解引用类型与值类型的都知道,不理解的猜也猜出来了
      

  5.   

    i=2001,o=2000,j=2000.考试基础题吧
      

  6.   

    我的答案:
    i=2001,o=2000,j=2000
    调试答案:
    i=2001,o=2000,j=2000
      

  7.   


    for(i=0;i<0;i++)
    {
      + 顶;
    }