C#如何:2d数组的锯齿状数组?

时间:2015-12-19 11:03:01

标签: c# arrays multidimensional-array jagged-arrays

我想制作一个多标准的锯齿状数组。这可能吗?怎么样?

对于实例,我看到了以下几个例子:

int[][,] jaggedArray4 = new int[3][,] 

我想创建以下内容:

int[,,][] myFixedJagged = new int[2,2,3][]

最后一个[]是Jagged。我怎么能声明呢?

谢谢!

2 个答案:

答案 0 :(得分:2)

这只是有效:

int[,,][] myFixedJagged = new int[2, 2, 3][];
myFixedJagged[0, 0, 0] = new int[10];
myFixedJagged[0, 0, 0][9] = 1;

我不想使用它。

答案 1 :(得分:1)

这是你想要的吗?

static void Main(string[] args)
{
    // This is the silliest thing I have seen in my life
    int[, ,][][] jgarray=new int[2, 2, 3][][];

    for (int i=0; i<2; i++)
    {
        for (int j=0; j<2; j++)
        {
            for (int k=0; k<3; k++)
            {
                var array =new int[10][];

                for (int z=0; z<10; z++)
                {
                    array[z]=new int[20];
                    for (int v=0; v<20; v++)
                    {
                        array[z][v]=v+20*(z+10*(k+3*(j+2*i)));
                    }
                }

                jgarray[i, j, k]=array;
            }
        }
    }
}

pic