C#에서 이미 선언된 가변 배열(jagged array)에 새로운 값을 추가하는 것은 매우 간단합니다. 별도의 특별한 메서드 없이, 원하는 위치의 인덱스에 접근하여 값을 할당하기만 하면 됩니다.
특정 위치에 값 추가하기
예를 들어, 다음과 같은 위치에 새로운 요소를 추가하고 싶다고 가정해 보겠습니다.
a[3][1]
이 경우 아래와 같이 해당 위치에 직접 값을 대입하면 됩니다.
a[3][1] = 500;
위 코드는 가변 배열에서 네 번째 배열(인덱스 3)의 두 번째 요소(인덱스 1)에 접근하여 새로운 값 500을 할당하는 방식입니다. C#의 배열은 인덱스가 0부터 시작하므로 이 점을 유의해야 합니다.
전체 예제 코드
가변 배열을 초기화하고, 특정 위치의 값을 변경한 후 변경 전후의 배열 상태를 출력하는 완전한 예제는 다음과 같습니다.
예제
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
int[][] x = new int[][]{new int[]{10,20}, new int[]{30,40}, new int[]{50,60}, new int[]{70,80}, new int[]{90,100}};
int i, j;
Console.WriteLine("Old Array...");
for (i = 0; i < 5; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0}][{1}] = {2}", i, j, x[i][j]);
}
}
// 인덱스 [3][1] 위치의 값을 500으로 변경
x[3][1] = 500;
Console.WriteLine("New Array...");
for (i = 0; i < 5; i++) {
for (j = 0; j < 2; j++) {
Console.WriteLine("a[{0}][{1}] = {2}", i, j, x[i][j]);
}
}
Console.ReadKey();
}
}
}실행 결과
프로그램을 실행하면 먼저 초기 배열의 모든 요소가 출력되고, 그다음 x[3][1] 위치의 값이 80에서 500으로 변경된 새로운 배열이 출력됩니다.
핵심 정리
- 가변 배열은 각 행(내부 배열)의 길이가 서로 다를 수 있는 배열입니다.
- 기존 가변 배열의 특정 위치에 값을 추가하거나 수정하려면 해당 인덱스에 직접 값을 대입하면 됩니다.
- 배열 크기 자체를 늘려야 하는 경우에는
Array.Resize를 사용하거나 새 배열을 생성해 기존 값을 복사하는 방법을 활용할 수 있습니다.