C#은 다차원 배열(multidimensional array)을 지원합니다. 다차원 배열은 '직사각형 배열(rectangular array)'이라고도 불리며, 행과 열이 균일한 구조를 가지는 것이 특징입니다.
다차원 배열 선언하기
2차원 문자열 배열은 다음과 같이 선언할 수 있습니다.
string [] names;
2차원 배열은 행(row)과 열(column)로 이루어진 표(table) 형태로 생각하면 이해하기 쉽습니다. 즉, x개의 행과 y개의 열을 가진 데이터 구조라고 볼 수 있습니다.
다차원 배열 초기화하기
다차원 배열은 각 행에 해당하는 값을 중괄호({})로 묶어 지정하는 방식으로 초기화할 수 있습니다. 아래 예제는 4개의 행과 각 행마다 4개의 열을 가지는 배열입니다.
int [] a = new int [4,4] {
{0, 1, 2, 3} , /* 0번째 행의 초기화 값 */
{4, 5, 6, 7} , /* 1번째 행의 초기화 값 */
{8, 9, 10, 11} , /* 2번째 행의 초기화 값 */
{12, 13, 14, 15} /* 3번째 행의 초기화 값 */
};예제: 다차원 배열 활용하기
다음 예제를 통해 C#에서 다차원 배열을 실제로 다루는 방법을 살펴보겠습니다. 이 코드는 5개의 행과 2개의 열을 가진 배열을 생성하고, 중첩 반복문(for 문)을 사용하여 모든 요소의 값을 출력합니다.
using System;
namespace Program {
class Demo {
static void Main(string[] args) {
/* 5개의 행과 2개의 열을 가진 배열 */
int[] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };
int i, j;
/* 각 배열 요소의 값 출력 */
for (i = 0; i < 5; 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 a[3,0] = 3 a[3,1] = 6 a[4,0] = 4 a[4,1] = 8
정리
C#의 다차원 배열은 배열명[행, 열] 형태로 요소에 접근하며, 중첩 반복문과 함께 사용하면 표 형태의 데이터를 손쉽게 처리할 수 있습니다. 게임 보드, 좌표계, 행렬 연산 등 다양한 상황에서 유용하게 활용되므로 꼭 익혀두시기 바랍니다.