Note ≡ 컬렉션 합치기 연습
컬렉션 2개를 하나로 합치는 기능을 만들어 보겠습니다. 다음과 같이 First와 Second 컬렉션을 합쳐 Merge 컬렉션에 포함하는 기능을 만드는 방법은 많이 있겠지만, List<T> 제네릭 클래스의 Add() 메서드를 사용하면 쉽게 구현할 수 있습니다.
▲ 그림 48-1 컬렉션 합치기
앞 그림과 같은 컬렉션 합치기 예제를 만들어 보겠습니다. First와 Second 컬렉션을 Merge 컬렉션에 포함합시다.
> class First . { . public string A { get; set; } . public string B { get; set; } . } > > class Second . { . public string B { get; set; } . public string C { get; set; } . } > > class Merge . { . public string A { get; set; } . public string B { get; set; } . public string C { get; set; } . } > > var first = new List<First>() . { . new First() { A = "F1A", B = "F1B" }, . new First() { A = "F2A", B = "F2B" } . }; > var second = new List<Second>() . { . new Second() { B = "S1B", C = "S1C" }, . new Second() { B = "S2B", C = "S2C" } . }; > > var merge = new List<Merge>(); //Merge 컬렉션 생성 > > for (int i = 0; i < first.Count; i++) //first 컬렉션 추가: for 문 사용 . { . merge.Add(new Merge() { A = first[i].A, B = first[i].B }); . } > > foreach (var s in second) //second 컬렉션 추가: foreach 문 사용 . { . merge.Add(new Merge() { B = s.B, C = s.C }); . } > > Console.WriteLine($"{"A ",5} {"B ",5} {"C ",5}"); //합친 컬렉션 출력 A B C > foreach (var m in merge) . { . Console.WriteLine($"{m.A,5} {m.B,5} {m.C,5}"); . } F1A F1B F2A F2B S1B S1C S2B S2C
실행 결과 컬렉션 2개를 제네릭 컬렉션 하나에 포함해서 출력함을 알 수 있습니다.