이 튜토리얼에서는 C# 다차원 배열, 특히 2차원 배열을 명확한 코드 스니펫과 함께 탐구합니다.
다차원 배열 들어가기 전 C# 1차원 배열 복습 권장.
다차원 배열에서 각 요소는 자체 배열입니다. 예:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
여기서 x는 {1, 2, 3}과 {3, 4, 5} 두 행을 가진 2차원 배열. 각 행은 3개 요소의 배열입니다.
C# 2차원 배열 (Two-Dimensional Array)
2차원 배열은 본질적으로 행과 열의 표입니다. 배열 요소는 1차원 배열들입니다.
이미지에서 행 {1, 2, 3}과 {3, 4, 5}가 2D 배열의 두 행을 나타냅니다.
1. 선언
2D 배열 선언:
int[ ] x = new int [2, 3];
x는 2행 3열, 총 6개 값 저장 가능.
참고: 대괄호 사이 쉼표 하나([ ])가 2차원 배열을 의미.
2. 초기화
선언 시 초기화:
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
크기와 값 동시 지정:
int[ ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
3. 요소 접근
0-기반 인덱스 사용: x[row, column]. 예:
// 2D 배열
int[ ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// 첫 행 첫 요소
x[0, 0]; // 1
// 두 번째 행 세 번째 요소
x[1, 2]; // 5
// 첫 행 세 번째 요소
x[0, 2]; // 3
예제: C# 2D 배열
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
// 2D 배열 초기화
int[ ] numbers = {{2, 3}, {4, 5}};
// 첫 행 첫 요소
Console.WriteLine("Element at index [0, 0] : " + numbers[0, 0]);
// 두 번째 행 첫 요소
Console.WriteLine("Element at index [1, 0] : " + numbers[1, 0]);
}
}
}
출력
Element at index [0, 0] : 2
Element at index [1, 0] : 4
numbers는 행 {2, 3}과 {4, 5}. 인덱스로 값 출력.
numbers[0, 0] – 첫 행 첫 요소 (2)
numbers[1, 0] – 두 번째 행 첫 요소 (4)
요소 변경
인덱스에 새 값 할당으로 수정:
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ ] numbers = {{2, 3}, {4, 5}};
// 기존 요소
Console.WriteLine("Old element at index [0, 0] : " + numbers[0, 0]);
// 새 값 할당
numbers[0, 0] = 222;
// 변경 후 요소
Console.WriteLine("New element at index [0, 0] : " + numbers[0, 0]);
}
}
}
출력
Old element at index [0, 0] : 2
New element at index [0, 0] : 222