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

C#에서 둘 이상의 리스트를 하나로 연결하는 방법

C#에서 둘 이상의 리스트 연결하기

C#에서 여러 개의 리스트(List)를 하나로 합치려면 Concat() 메서드를 사용하면 됩니다. Concat 메서드는 System.Linq 네임스페이스에 포함되어 있으며, 두 시퀀스를 순서대로 이어 붙인 새로운 시퀀스를 반환합니다.

세 개의 리스트 선언

먼저 연결할 세 개의 리스트를 준비합니다.

// 세 개의 리스트
var list1 = new List<int>{3, 4};
var list2 = new List<int>{1, 2, 3};
var list3 = new List<int>{2, 5, 6};

Concat 메서드로 리스트 연결

이제 Concat 메서드를 사용하여 위의 세 개 리스트를 차례대로 연결합니다.

var res1 = list1.Concat(list2);
var res2 = res1.Concat(list3);

위 코드에서는 먼저 list1list2를 연결해 res1을 만들고, 다시 res1list3를 연결하여 최종 결과 res2를 얻습니다.

예제 전체 코드

완성된 전체 코드는 다음과 같습니다.

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

public class Demo {
    public static void Main() {

        // 세 개의 리스트
        var list1 = new List<int>{3, 4};
        var list2 = new List<int>{1, 2, 3};
        var list3 = new List<int>{2, 5, 6};

        // 리스트 연결
        var res1 = list1.Concat(list2);
        var res2 = res1.Concat(list3);

        foreach(int i in res2) {
            Console.WriteLine(i);
        }
    }
}

실행 결과

3
4
1
2
3
2
5
6

출력 결과를 보면 첫 번째 리스트의 요소(3, 4)가 먼저 나오고, 그다음 두 번째 리스트의 요소(1, 2, 3), 마지막으로 세 번째 리스트의 요소(2, 5, 6)가 순서대로 출력되는 것을 확인할 수 있습니다.

참고 사항

  • Concat 메서드는 원본 리스트를 변경하지 않고 연결된 새로운 시퀀스를 반환합니다.
  • 중복된 값은 자동으로 제거되지 않습니다. 중복 제거가 필요하다면 Distinct() 메서드를 추가로 사용할 수 있습니다.
  • 세 개 이상의 리스트를 한 번에 연결하려면 list1.Concat(list2).Concat(list3)처럼 메서드를 체이닝하는 방식도 가능합니다.