其实“交错数组”是一个故弄玄虚的名词。你只要明白
int[][]其实就是由int[]构成的数组,好比int[]是由int构成的数组一样。
也就是数组的数组。

解决方案 »

  1.   


     这里面的代码怎么看不懂啊,他怎么直接用类名创建数组,那个不是创建类吗?还有,int[][][]这个不明白,最好举例啊,求教了!
      

  2.   


    可以理解为多维数组么?多维数组其实还是数组,交错数组我说了,其实是数组的数组。比如你定义
    int[,] arr=new int[2,3];
    其实就是
    int[] arr=new int[2 * 3];

    arr[1,2]其实就是ar[1*3+2];
    你可以看到,多维数组的本质就是数组,只是编译器对于下标访问玩了一个魔术。
      

  3.   


    我说的很清楚了。再不明白只能说你理解能力堪忧了。在C#中,任何类型都可以组成数组,比如
    int[]
    double[]
    string[]

    People
    []
    那么,数组本身也是一个类型,当然它也可以组成数组,比如

    int[]
    []
    你要把红色的int[]看成一个新的类型
    那么int[][]本身也是一个类型,因此
    int[][][]就是数组的数组的数组
      

  4.   

    它上面不是指明了吗?
    myclass类,并给出了myfield是public,别看它写得这么复杂,其实本身没什么实际意义,而且它值也只是保存在myfield里,如果你输出mcarray的话,发现它就一个类名,哎,现在的书真不是厚道,好像建个这样的数组能体现出自己的水平一样,其实它本身来说,没有什么实际水平,反而把新手绕晕了。楼主,你别那图里的“创建数组”看成“创建类集合”就成了。
      

  5.   

    当然,楼主,你要注意一点,它实际上的值还是存在于myfield里,同别的数组没什么不同,你一个FOR就能输出,不过这时你输出的必须是mcarray[i].myfield.tostring()这样,大小写自己改一下。