C#에서 2차원 배열(2-dimensional array)은 1차원 배열들이 모여 이루어진 구조로, 행(row)과 열(column)을 가진 표 형태의 데이터를 다룰 때 유용합니다. 예를 들어 행렬, 좌표 데이터, 게임 보드 등을 표현할 때 자주 사용됩니다.
2차원 배열 선언하기
2차원 배열은 쉼표(,)를 사용하여 다음과 같이 선언할 수 있습니다.
int[] a;
위 코드는 정수형 2차원 배열 변수 a를 선언한 것입니다.
2차원 배열 초기화하기
선언과 동시에 각 행의 값을 중괄호({ })로 묶어 지정함으로써 배열을 초기화할 수 있습니다.
int[] a = new int[4, 4] {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11},
{12, 13, 14, 15}
};위 예제는 4행 4열 크기의 2차원 배열을 생성하고, 각 행마다 네 개의 값을 순서대로 할당합니다.
예제: 2차원 배열 요소 출력하기
다음은 3행 2열의 2차원 배열을 생성하고, 중첩 반복문(for)을 사용하여 모든 요소의 값을 출력하는 전체 예제입니다.
using System;
namespace ArrayApplication {
class MyArray {
static void Main(string[] args) {
/* 3행 2열의 배열 생성 */
int[] a = new int[3, 2] {{0,0}, {1,2}, {2,4}};
int i, j;
/* 각 배열 요소의 값 출력 */
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
}
}
Console.ReadKey();
}
}
}실행 결과
a[0,0] = 0 a[0,1] = 0 a[1,0] = 1 a[1,1] = 2 a[2,0] = 2 a[2,1] = 4
참고: 가변 배열(Jagged Array)과의 차이
C#에는 위와 같은 직사각형 배열(rectangular array) 외에도, 각 행의 길이가 서로 다를 수 있는 가변 배열(jagged array)이 있습니다. 직사각형 배열은 int[], 가변 배열은 int[][]처럼 선언하며, 용도에 맞게 선택하여 사용하면 됩니다.