직사각형 배열(rectangular array)의 요소에 접근하려면, 가져오고자 하는 요소의 인덱스를 지정하기만 하면 됩니다. C#에서 다차원 배열은 '직사각형 배열'이라고도 불리며, 각 행의 길이가 모두 동일한 2차원 이상의 배열을 의미합니다.
a[0,1]; // 두 번째 요소
배열 요소에 접근할 때는 쉼표로 구분된 인덱스를 사용합니다. 첫 번째 인덱스는 행(row), 두 번째 인덱스는 열(column)을 나타냅니다.
예제
다음 예제는 C#에서 직사각형 배열을 선언하고, 값을 할당한 후 각 요소에 접근하는 전체 과정을 보여줍니다.
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
int[] a = new int[3, 3];
a[0,0] = 10;
a[0,1] = 20;
a[0,2] = 30;
a[1,0] = 40;
a[1,1] = 50;
a[1,2] = 60;
a[2,0] = 70;
a[2,1] = 80;
// 요소 접근 및 값 할당
a[2,2] = 90;
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
}
}
int ele = a[0,1];
Console.WriteLine("두 번째 요소: " + ele);
Console.ReadKey();
}
}
}실행 결과
a[0,0] = 10 a[0,1] = 20 a[0,2] = 30 a[1,0] = 40 a[1,1] = 50 a[1,2] = 60 a[2,0] = 70 a[2,1] = 80 a[2,2] = 90 두 번째 요소: 20
핵심 정리
int[] a = new int[3, 3]; 구문은 3행 3열 크기의 2차원 직사각형 배열을 생성합니다. 특정 요소를 읽거나 쓸 때는 a[행, 열] 형태로 인덱스를 지정하며, 위 예제에서처럼 a[0,1]은 첫 번째 행의 두 번째 요소, 즉 값 20을 가리킵니다. 중첩 for 루프를 활용하면 배열의 모든 요소를 손쉽게 순회할 수 있습니다.