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

C#에서 AddRange() 메서드로 기존 리스트에 두 번째 리스트 추가하는 방법

C#에서 하나의 리스트(List)에 다른 리스트의 모든 요소를 한 번에 합치고 싶다면 AddRange() 메서드를 사용하면 됩니다. 이 메서드는 컬렉션을 인자로 받아 해당 컬렉션의 모든 요소를 기존 리스트 끝에 순서대로 추가합니다.

먼저 첫 번째 리스트를 만들어 보겠습니다.

List<string> list1 = new List<string>();

list1.Add("One");
list1.Add("Two");

다음으로 두 번째 리스트를 생성합니다.

List<string> list2 = new List<string>();

list2.Add("Three");
list2.Add("Four");

이제 AddRange() 메서드를 사용해 두 번째 리스트를 첫 번째 리스트에 추가합니다.

list1.AddRange(list2);

전체 코드를 통해 동작 과정을 확인해 보겠습니다.

예제

using System;
using System.Collections.Generic;
using System.Linq;

public class Demo {
    public static void Main() {

        List<string> list1 = new List<string>();
        list1.Add("One");
        list1.Add("Two");
        Console.WriteLine("첫 번째 리스트...");
        foreach(string value in list1) {
            Console.WriteLine(value);
        }

        Console.WriteLine("두 번째 리스트...");
        List<string> list2 = new List<string>();

        list2.Add("Three");
        list2.Add("Four");
        foreach(string value in list2) {
            Console.WriteLine(value);
        }

        Console.WriteLine("리스트 추가 후...");
        list1.AddRange(list2);
        foreach(string value in list1) {
            Console.WriteLine(value);
        }
    }
}

실행 결과

첫 번째 리스트...
One
Two
두 번째 리스트...
Three
Four
리스트 추가 후...
One
Two
Three
Four

실행 결과를 보면 AddRange() 호출 이후 첫 번째 리스트 뒤에 두 번째 리스트의 요소들이 그대로 이어 붙어 있는 것을 확인할 수 있습니다.

참고 사항

AddRange() 메서드는 ICollection<T> 인터페이스를 구현하는 모든 컬렉션을 인자로 받을 수 있습니다. 따라서 배열이나 LinkedList 등 다른 컬렉션 타입도 동일한 방식으로 리스트에 추가할 수 있습니다. 또한 요소를 하나씩 반복문으로 추가하는 것보다 내부적으로 용량을 효율적으로 관리하므로 성능 면에서도 유리합니다.