C# 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : C# 컬렉션 합치기
글번호: 1378
작성자: 레드플러스
작성일: 2017/04/17 오후 12:05:00
조회수: 559
파일: CollectionMerge_컬렉션 합치기.png (12 KB) / 전송수: 146
CollectionMerge_컬렉션 합치기.png
CollectionMerge_컬렉션 합치기.png

2개의 컬렉션을 하나의 컬렉션으로 합치는 기능을 만들어보겠습니다. 다음 그림과 같이 First 컬렉션과 Second 컬렉션을 합쳐서 Merge 컬렉션에 포함하는 기능을 만들어보고자할 때 방법이 많이 있겠지만, List<T> 제네릭 클래스의 Add() 메서드를 사용하여 쉽게 구현이 가능합니다.

 

//[?] 수작업으로 First, Second 컬렉션을 Merge 컬렉션에 포함하기
using System;
using System.Collections.Generic;

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; }
}

class CollectionMerge
{
    static void Main()
    {
        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" }
        };

        // Merge 컬렉션 생성 
        var merge = new List<Merge>();

        // first 컬렉션 추가: for 문 사용
        for (int i = 0; i < first.Count; i++)
        {
            merge.Add(new Merge() { A = first[i].A, B = first[i].B });
        }

        // second 컬렉션 추가: foreach 문 사용
        foreach (var s in second)
        {
            merge.Add(new Merge() { B = s.B, C = s.C });
        }

        // 합쳐진 컬렉션 출력
        Console.WriteLine($"{"A ",5} {"B ",5} {"C ",5}");
        foreach (var m in merge)
        {
            Console.WriteLine($"{m.A,5} {m.B,5} {m.C,5}");
        }
    }
}
실행:
A     B     C
  F1A   F1B
  F2A   F2B
        S1B   S1C
        S2B   S2C
계속하려면 아무 키나 누르십시오 . . .

 

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 C# 특성(Attribute) CS_Attribute_Obsolete.png(110 KB) 레드플러스 2019-05-11 97
현재글 C# 컬렉션 합치기 CollectionMerge_컬렉션 합치기.png(12 KB) 레드플러스 2017-04-17 559
다음글 LINQ Any 확장 메서드: 컬렉션(시퀀스)에 요소가 하나라도 있는지 확인 LINQ_Any.png(73 KB) 레드플러스 2016-09-26 550
 
손님 사용자 Anonymous (손님)
로그인 Home