C#의 CopyTo() 메서드는 한 배열의 요소를 다른 배열로 복사할 때 사용됩니다. 이 메서드의 가장 큰 특징은 소스 배열에서 복사를 시작할 위치(시작 인덱스)를 직접 지정할 수 있다는 점입니다.
CopyTo() 메서드 기본 문법
CopyTo() 메서드의 기본적인 사용 형식은 다음과 같습니다.
CopyTo(dest, index);
각 매개변수의 의미는 다음과 같습니다.
- dest : 요소가 복사될 대상(목적지) 배열
- index : 대상 배열에서 복사를 시작할 인덱스
예제 코드
다음은 C#에서 배열 클래스의 CopyTo() 메서드를 활용해 한 배열의 요소를 다른 배열로 복사하는 예제입니다.
using System;
class Program {
static void Main() {
int[] arrSource = new int[4];
arrSource[0] = 5;
arrSource[1] = 9;
arrSource[2] = 1;
arrSource[3] = 3;
int[] arrTarget = new int[4];
// CopyTo() 메서드 호출
arrSource.CopyTo(arrTarget, 0);
Console.WriteLine("대상 배열 ...");
foreach (int value in arrTarget) {
Console.WriteLine(value);
}
}
}실행 결과
위 코드를 실행하면 소스 배열 arrSource의 모든 요소가 인덱스 0부터 대상 배열 arrTarget에 순서대로 복사된 것을 확인할 수 있습니다.
대상 배열 ... 5 9 1 3
참고 사항
CopyTo() 메서드를 사용할 때는 대상 배열의 크기가 복사되는 요소 수를 충분히 담을 수 있어야 합니다. 만약 시작 인덱스부터 복사할 요소까지 대상 배열의 범위를 초과하면 ArgumentException 예외가 발생합니다. 또한 대상 배열이 null인 경우에는 ArgumentNullException이 발생하므로, 복사 전에 배열 크기와 유효성을 반드시 확인하는 것이 좋습니다.