简体   繁体   English

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

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

I need to initialise a 3 level array, I know the size of the 2 first levels but the last one is determined randomly and varies from array to array. 我需要初始化一个3级数组,我知道前2个级别的大小,但最后一个级别是随机确定的,并且随数组的不同而不同。

int[,,] myArray;

How can I initialise the 2 first levels yet leave the last one untouched ? 我该如何初始化前两个级别而又不影响最后一个?

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

Eg, array 3 x 5 x Variable_size: 例如,数组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];

or 要么

        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];

Usage accordingly: 用法相应:

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

or 要么

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