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

C# Array.Clear() 메서드 완벽 정리 – 배열 요소를 기본값으로 초기화하는 방법

C#의 Array.Clear() 메서드는 배열에서 지정한 범위의 요소를 지우고, 해당 요소들을 각 데이터 타입의 기본값(default)으로 설정하는 데 사용됩니다. 예를 들어 정수형(int) 배열은 0으로, 참조형 배열은 null로 초기화됩니다. 이 메서드는 배열 전체가 아닌 특정 범위의 요소만 선택적으로 초기화할 수 있다는 점이 특징입니다.

문법(Syntax)

public static void Clear(Array arr, int index, int len);

매개변수 설명

  • arr: 요소를 지울 대상 배열입니다.
  • index: 지우기를 시작할 요소의 시작 인덱스입니다.
  • len: 시작 인덱스부터 지울 요소의 개수입니다.

이제 Array.Clear() 메서드를 실제로 구현한 예제를 살펴보겠습니다.

예제 1: 1차원 배열에서 요소 지우기

using System;
public class Demo{
   public static void Main(){
      Console.WriteLine("Array elements...");
      int[] arr = { 20, 50, 100, 150, 200, 300, 400, 450, 500, 600, 800, 1000, 1500, 2000 };
      for (int i = 0; i < 14; i++){
         Console.Write("{0} ", arr[i]);
      }
      Console.WriteLine();
      Console.WriteLine("Clearing some elements in a range...");
      Array.Clear(arr, 5, 9);
      for (int i = 0; i < 14; i++){
         Console.Write("{0} ", arr[i]);
      }
      Console.WriteLine();
   }
}

실행 결과

Array elements...
20 50 100 150 200 300 400 450 500 600 800 1000 1500 2000
Clearing some elements in a range...
20 50 100 150 200 0 0 0 0 0 0 0 0 0

위 예제에서 Array.Clear(arr, 5, 9)는 인덱스 5부터 9개의 요소를 지우도록 지시합니다. 따라서 인덱스 5부터 13까지의 값이 모두 기본값인 0으로 변경된 것을 확인할 수 있습니다.

예제 2: 2차원 배열에서 요소 지우기

Array.Clear() 메서드는 다차원 배열에도 적용할 수 있습니다. 다차원 배열의 경우 요소는 행 단위가 아닌 선형(linear) 순서로 처리됩니다.

using System;
public class Demo{
   public static void Main(){
      Console.WriteLine("Array elements...");
      int[] arr = { {20, 50, 100, 120}, {150, 200, 300, 350}, {400, 450, 500, 550}, {600, 800, 1000, 1200} };
      for (int i = 0; i < 4; i++){
         for (int j = 0; j < 4; j++){
            Console.Write("{0} ", arr[i,j]);
         }
         Console.WriteLine();
      }
      Console.WriteLine();
      Console.WriteLine("Clearing some elements in a range...");
      Array.Clear(arr, 5, 9);
      for (int i = 0; i < 4; i++){
         for (int j = 0; j < 4; j++){
            Console.Write("{0} ", arr[i,j]);
         }
         Console.WriteLine();
      }
      Console.WriteLine();
   }
}

실행 결과

Array elements...
20 50 100 120
150 200 300 350
400 450 500 550
600 800 1000 1200
Clearing some elements in a range...
20 50 100 120
150 0 0 0
0 0 0 0
0 0 1000 1200

2차원 배열은 내부적으로 연속된 메모리 공간에 저장되므로, 인덱스 5(두 번째 행의 두 번째 요소)부터 9개의 요소가 순서대로 0으로 초기화되었습니다. 이처럼 Array.Clear()는 1차원뿐 아니라 다차원 배열에서도 유연하게 활용할 수 있습니다.