티스토리 뷰


C#에서 다중배열은 크게 일반적인다중배열, 톱니배열로 나눌수 있습니다.

일반적인 다중배열은 각 차원을 한번에 설정해주어야 하고 각 차원마다의 크기가 같게됩니다.

톱니배열은 각차원의 크기를 다르게 설정해줄 수 있고, 차원의 크기를 실행중에 할당할 수 있습니다.

 

간단히 예제를 보시면 이해되실 수 있을거라 생각됩니다.

 

int lv1 = 2;

int lv2 = 3;

int lv3 = 4;

 

// 일반적인 다중배열 사용방법

double[,,] PanBuf;

PanBuf = new double[lv1,lv2,lv3];

PanBuf[0, 0, 0] = 5.0;

 

 

// 톱니배열사용(각 차원의 크기를 다르게 지정할 수 있음)

// 톱니배열 사용 예 #1 - 각 차원마다 같은 크기 지정

// 1차원 - lv1, 2차원 lv2, 3차원 lv3만큼의 깊이

double[][][] PanBuf2;

PanBuf2 = new double[lv1][][];

 

for (int i = 0; i < PanBuf2.Length; i++)

{

    PanBuf2[i] = new double[lv2][];

    for (int j = 0; j < PanBuf2[i].Length; j++)

    {

        PanBuf2[i][j] = new double[lv3];

    }

}

PanBuf2[0][0][0] = 5.0;

 

 

// 톱니배열사용(각 배열 크기를 다르게 지정할 수 있음)

// 톱니배열 사용 예 #2 - 각 차원에 다른 크기 지정

double[][][] PanBuf3;

PanBuf3 = new double[2][][];

PanBuf3[0] = new double[2][];

PanBuf3[1] = new double[3][];

 

PanBuf3[0][0] = new double[4];

PanBuf3[0][1] = new double[5];

 

PanBuf3[1][0] = new double[4];

PanBuf3[1][1] = new double[5];

PanBuf3[1][2] = new double[6];

 

PanBuf2[0][0][0] = 5.0;

 

반응형
댓글