C#의 Array.Copy() 메서드는 이름 그대로 한 배열의 요소를 다른 배열로 복사할 때 사용합니다. 이 메서드는 System 네임스페이스의 Array 클래스에 포함된 정적(static) 메서드로, 배열 전체를 복사할 수도 있고 지정한 개수만큼 일부 요소만 복사할 수도 있습니다.
Array.Copy() 메서드 기본 구문
Array.Copy(src, dest, length);
각 매개변수의 의미는 다음과 같습니다.
src – 복사할 원본 배열
dest – 복사된 요소가 저장될 대상(목적지) 배열
length – 복사할 요소의 개수
참고로 Array.Copy()는 여러 오버로드를 제공하므로, 시작 인덱스를 함께 지정하여 원본 배열의 특정 위치부터 대상 배열의 특정 위치로 부분 복사하는 것도 가능합니다.
예제 코드
다음은 C#에서 배열 클래스의 Copy() 메서드를 사용하는 방법을 보여주는 예제입니다.
using System;
class Program {
static void Main() {
int[] arrSource = new int[4];
arrSource[0] = 99;
arrSource[1] = 66;
arrSource[2] = 111;
arrSource[3] = 33;
int[] arrTarget = new int[4];
Array.Copy(arrSource, arrTarget, 4);
Console.WriteLine("복사된 대상 배열 ...");
foreach (int value in arrTarget) {
Console.WriteLine(value);
}
}
}위 예제에서는 크기가 4인 정수형 배열 arrSource에 값을 저장한 뒤, Array.Copy(arrSource, arrTarget, 4)를 호출하여 모든 요소를 arrTarget으로 복사했습니다. 마지막 세 번째 인자인 4는 복사할 요소의 개수를 의미합니다.
실행 결과
복사된 대상 배열 ... 99 66 111 33
실행 결과를 보면 원본 배열의 값들이 순서대로 대상 배열에 그대로 복사된 것을 확인할 수 있습니다. 이처럼 Array.Copy() 메서드를 활용하면 반복문 없이도 간단하고 효율적으로 배열 간 데이터를 복사할 수 있습니다.