Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 배열을 다른 크기의 새 배열로 바꾸기

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).