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

C#에서 배열을 복제하는 방법: Clone() 메서드 완벽 가이드

C#에서 Clone() 메서드는 기존에 존재하는 배열을 복제하여 동일한 요소를 가진 새로운 배열을 생성할 때 사용됩니다. 이 메서드는 Array 클래스에 정의되어 있으며, 얕은 복사(shallow copy) 방식으로 동작합니다.

1. 복제할 배열 준비하기

먼저 복제할 원본 배열을 선언합니다.

string[] arr = { "Web", "World"};

2. Clone() 메서드로 배열 복제하기

Clone() 메서드는 반환 타입이 object이므로, as 연산자를 사용하여 문자열 배열로 형 변환해야 합니다.

string[] arrClone = arr.Clone() as string[];

전체 예제 코드

지금까지의 내용을 하나의 완성된 프로그램으로 살펴보겠습니다.

using System;

class Program {
    static void Main() {
        string[] arr = { "Web", "World"};
        Console.WriteLine(string.Join(",", arr));

        string[] arrClone = arr.Clone() as string[];
        Console.WriteLine(string.Join(",", arrClone));
    }
}

실행 결과

Web,World
Web,World

Clone() 메서드의 주요 특징

  • 얕은 복사: 배열 구조 자체는 새로 생성되지만, 요소가 참조 타입일 경우 내부 객체는 원본과 참조를 공유합니다.
  • 형 변환 필요: 반환 타입이 object이므로 as 연산자나 명시적 캐스팅을 통해 원래 배열 타입으로 변환해야 합니다.
  • 독립적인 배열: 복제된 배열은 원본과 별개의 배열 인스턴스이므로, 한쪽의 요소 교체나 재할당이 다른 쪽에 영향을 주지 않습니다.

이처럼 Clone() 메서드를 활용하면 간단한 한 줄의 코드로 기존 배열을 손쉽게 복제할 수 있습니다.