C# - 두개의 배열을 하나로 합치기

두개의 배열을 하나의 배열로 병합하는 방법을 소개합니다.

1. Concat()을 이용한 방법

array1.Concat(array2)는 array1 배열과 array2 배열을 하나로 병합하고 Enumerable 객체로 리턴합니다. ToArray()로 Enumerable을 배열로 변환할 수 있습니다.

합쳐진 요소들이 Enumerable로 리턴되기 때문에, 원본 배열의 데이터가 변경되지는 않습니다.

아래와 같이 Concat()을 사용하여 두 배열을 하나의 배열로 합칠 수 있습니다.

using System;

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

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

            int[] result = arr1.Concat(arr2).ToArray();
            Console.WriteLine(string.Join(", ", result));
        }
    }
}

Output:

1, 2, 3, 4, 5

2. List를 이용한 방법

배열의 크기는 동적으로 변경이 안되기 때문에, List 객체를 만들고 두 배열의 요소들 List에 추가한 뒤에 List를 배열로 변경하는 방법입니다.

아래 예제에서 List.AddRange(array)는 배열의 모든 요소들을 리스트에 추가합니다. List.ToArray()는 리스트를 배열로 변환합니다.

using System;

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

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

            List<int> list = new List<int>();
            list.AddRange(arr1);
            list.AddRange(arr2);

            int[] result = list.ToArray();
            Console.WriteLine(string.Join(", ", result));
        }
    }
}

Output:

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