C# - 배열 복사 (CopyTo, Copy 함수)

배열의 모든 요소를 다른 배열에 복사하는 방법을 소개합니다.

1. array.CopyTo()를 이용한 방법

src.CopyTo(des, index)는 src 배열의 모든 요소를 des 배열의 index부터 복사합니다.

아래 예제는 src 배열의 모든 요소를 des 배열의 Index 0부터 복사합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            int[] src = {1, 2, 3, 4, 5};

            int[] des = new int[src.Length];
            src.CopyTo(des, 0);

            Console.WriteLine(string.Join(", ", des));
        }
    }
}

Output:

1, 2, 3, 4, 5

2. Array.Copy()를 이용한 방법

Array.Copy(src, des, length)는 src 배열에서 des 배열로 length 길이만큼 복사합니다.

아래 예제는 src 배열의 모든 요소를 des 배열에 복사합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            int[] src = {1, 2, 3, 4, 5};

            int[] des = new int[src.Length];
            Array.Copy(src, des, src.Length);

            Console.WriteLine(string.Join(", ", des));
        }
    }
}

Output:

1, 2, 3, 4, 5

3. 특정 범위의 요소만 복사

Array.Copy(src, srcIndex, des, desIndex, length)는 src 배열의 srcIndex에서 des 배열의 desIndex로 length 길이만큼 복사합니다.

아래 예제는 src 배열의 index 2에서 3개의 요소를 des 배열의 Index 0부터 복사합니다. 즉 src의 Index 2에서 Index 4에 해당하는 요소 3개를 des 배열에 복사합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            int[] src = {1, 2, 3, 4, 5};

            int srcIndex = 2;
            int desIndex = 0;
            int length = 3;

            int[] des = new int[3];
            Array.Copy(src, srcIndex, des, desIndex, length);

            Console.WriteLine(string.Join(", ", des));
        }
    }
}

Output:

3, 4, 5
Loading script...
codechachaCopyright ©2019 codechacha