繁体   English   中英

如何在C#中部分初始化3D数组?

[英]how can I partially initialize a 3D array in C#?

我需要初始化一个3级数组,我知道前2个级别的大小,但最后一个级别是随机确定的,并且随数组的不同而不同。

int[,,] myArray;

我该如何初始化前两个级别而又不影响最后一个?

myArray = new int[sizeA, sizeB, ???];

例如,数组3 x 5 x Variable_size:

        int[][][] myArray = new int[3][][];
        for (int i = 0; i < 3; i++)
            myArray[i] = new int[5][];

        myArray[0][0] = new int[5];
        myArray[0][1] = new int[6];
        myArray[0][2] = new int[3];
        myArray[0][3] = new int[2];
        myArray[0][4] = new int[7];
        myArray[1][0] = new int[3];
        //...
        myArray[2][4] = new int[9];

要么

        int[,][] myArray = new int[3,5][];
        myArray[0, 0] = new int[3];
        myArray[0, 1] = new int[5];
        myArray[0, 2] = new int[2];
        myArray[0, 3] = new int[4];
        myArray[0, 4] = new int[6];
        myArray[1, 0] = new int[3];
        //...
        myArray[2, 4] = new int[8];

用法相应:

myArray[0][1][3] = 5;
int a = myArray[1][0][2];

要么

myArray[0, 1][3] = 5;
int a = myArray[1, 0][2];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM