티스토리 뷰
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;