C#에서 Array.Resize로 배열 크기 변경하기
C#에서 기존 배열을 다른 크기의 새 배열로 교체하려면 Array.Resize 메서드를 사용합니다. 이 메서드는 배열의 크기를 늘리거나 줄일 수 있으며, 이미 저장된 요소들은 그대로 유지됩니다.
메서드 호출 시 ref 키워드를 통해 배열 참조를 전달하고, 두 번째 인자로 새로운 크기를 지정합니다.
Array.Resize<char>(ref arr, 4);
크기가 조정된 배열에는 아래와 같이 새로운 요소를 추가할 수 있습니다.
예제 코드
using System;
class Program {
static void Main() {
char[] arr = new char[5];
arr[0] = 'J';
arr[1] = 'A';
// 배열 크기를 5에서 4로 변경
Array.Resize<char>(ref arr, 4);
// 새 요소에 값 설정
arr[2] = 'C';
arr[3] = 'K';
Console.WriteLine("Updated Array : " + new string(arr));
}
}
실행 결과
Updated Array : JACK
Array.Resize 사용 시 주의사항
- 참조 교체 방식: Array.Resize는 원본 배열의 메모리를 직접 확장하지 않고, 새로운 배열을 생성해 기존 요소를 복사한 뒤 참조를 교체합니다. 따라서 반드시
ref키워드를 사용해야 합니다. - 크기 축소 시: 새 크기가 기존보다 작으면 초과되는 요소들은 잘려나갑니다.
- 크기 확장 시: 새로 추가된 요소는 해당 타입의 기본값으로 초기화됩니다(숫자형은 0, 참조형은 null).