我们都明白装箱,拆箱的事情,
但下面这种情况怎么解释:一个object[] 赋给一个object 是不是只是指针(暂时这样说)指向了object[],所以可以直接通过object来得到object[]?????
object[] arrA= new object[]{1,2,3};
object c = arrA;                        //????????
object obj = ((object [])c)[2].ToString();求详解~!

解决方案 »

  1.   

    object[] arrA= new object[]{1,2,3};
    object c = arrA;     这是错误的,正确的:object[] c = arrA  //????????
    要使用arrA或c时就像使用数组一样
    object obj = arrA[2];或者object obj = c[2];
      

  2.   

    to object[] arrA= new object[]{1,2,3};
    object c = arrA; //????????这是没错的,数组类型为引用类型,因此对于arrA来说本身就是一个object,因此可以作为object类型直接付给c。
      

  3.   

    这是没错的,数组类型为引用类型,因此对于arrA来说本身就是一个object,因此可以作为object类型直接付给c。
    ================
    同意
      

  4.   


    TO:qiekong(blue)你其实可以自己验证一下的哟,呵呵。。
    看来你也没搞清楚
      

  5.   

    对于object[]类型来说,可以如下来解释:1、首先是一个Array类型;
    2、数组元素为object类型。因此把一个Array类型赋值给object类型来说一点儿问题没有。
      

  6.   

    哦  这样.ths其实是 array ==>  Object
      

  7.   

    object[] arrA= new object[]{1,2,3};
    object c = arrA;         //这样是可以的,但在C++中就相当于把这个数组的第一个数赋给了C
    object obj = ((object [])c)[2].ToString(); //必须要这样强行转换
    object obj = c[2]; //直接这样会报“无法将带 [] 的索引应用于“object”类型的表达式”的错误