multidimensional array[][] vs [,]

배열

C# 에서는 배열을 2가지 방식으로 사용할 수 있습니다.
한가지는 [][], 다른 한가지는 [,] 입니다.
둘은 비슷해 보이지만 기능은 전혀 다릅니다. 이 둘의 차이점을 알아 보겠습니다.

 

[][] – array of array

이 형태는 array안에 array 가 있는 것입니다.

예를 들어 아래는 array 형태를 4개를 가진 x 가 됩니다.
x[0], x[1], x[2], x[3]의 크기는 동일하지 않아도 됩니다.

 

int [][] x = new int [4][];
x[0] = new int [100];
x[1] = new int [50];
x[2] = new int [10];
x[3] = new int [2];

 

 

아래처럼 반복문을 사용할 수 있습니다.

for (int i = 0; i < x.Length; i++)
{
for (int j = 0; j < x[i].Length; j++)
x[i][j] = i * 100 + j;
}

 

 

[,] – 2d array

이 형태는 2차원 배열입니다.

예를 들어 아래는 4×2 크기의 배열을 가지며
배열은 직사각형 모양이 됩니다.

 

int [,] x = new int [4,2];
x[0][0] = 10;
x[0][1] = 30;
x[1][0] = 40;
x[1][1] = 50;
x[2][0] = 110;
x[2][1] = 300;
x[3][0] = 10;
x[3][1] = 5;

 

 

아래처럼 반복문을 사용할 수 있습니다.

for (int i = 0; i < x.GetLength(0); i++)
 for (int j = 0; j < x.GetLength(1); j++)
  x[i, j] = i * 100 + j;

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다