C#에서 다차원 배열의 특정 요소에 접근하려면 원하는 요소의 인덱스를 대괄호 안에 쉼표로 구분하여 지정하면 됩니다.
a[2,1]
위 코드는 배열의 3번째 행(인덱스 2)과 2번째 열(인덱스 1)에 있는 요소에 접근합니다. 아래와 같이 선언된 4×2 크기의 배열을 예로 들어 보겠습니다.
0 0 1 2 2 4 3 6
여기서 a[2,1]은 세 번째 행 {2, 4} 중 두 번째 열의 값, 즉 4를 반환합니다. C#의 배열 인덱스는 0부터 시작하므로, 첫 번째 행·열의 인덱스는 각각 0이라는 점을 기억해 두는 것이 중요합니다.
지금까지 설명한 내용을 바탕으로, 2차원 배열의 모든 요소를 출력한 뒤 특정 요소에 직접 접근하는 전체 예제를 살펴보겠습니다.
예제
using System;
namespace Program {
class Demo {
static void Main(string[] args) {
// 4행 2열짜리 2차원 배열 선언 및 초기화
int[] a = new int[4, 2] {{0,0}, {1,2}, {2,4}, {3,6}};
int i, j;
// 중첩 반복문으로 배열의 모든 요소 출력
for (i = 0; i < 4; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
}
}
// 특정 요소에 직접 접근
Console.WriteLine(a[2,1]);
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 4
핵심 정리
- 접근 방법:
배열명[행 인덱스, 열 인덱스]형식으로 요소에 접근합니다. - 인덱스 시작 값: 행과 열 인덱스 모두 0부터 시작합니다.
- 읽기와 쓰기: 같은 문법으로 값을 읽을 수도 있고,
a[2,1] = 10;처럼 새로운 값을 할당할 수도 있습니다. - 범위 주의: 배열 범위를 벗어나는 인덱스를 사용하면
IndexOutOfRangeException예외가 발생하므로 주의해야 합니다.