[C# 문법] C# Dictionary 같은 Key 에 여러개의 데이터 넣기

안녕하세요. 오늘은 C# 문법에서 Dictionary 컬렉션을 다뤄 보려고 합니다. Dictionary 컬렉션은 Key, Value 로 이루어진 컬렉션인데요. Dictionary 컬렉션의 특징이라면, Key 가 중복이 되면 안된다는 점입니다. 그러나 종종 Dictionary 컬렉션을 이용하여 동일 키에 여러 데이터를 넣고 싶은 경우가 있는데요. 이럴때 유용하게 사용할 수 있는 방법이 있어서 여러분들에게도 소개해 드리고자 포스팅 하게 되었습니다. 소스 코드는 매우 간단하기 때문에 예제 코드를 통해서 바로 보여 드리도록 하겠습니다.

예제 코드

using System.Collections.Generic;

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>();

            for(int idx = 0; idx < 10; idx++)
            {
                if (dic.ContainsKey(idx.ToString()) == false)
                    dic.Add(idx.ToString(), new List<string>());

                dic[idx.ToString()].Add(idx.ToString());
            }

            for (int idx = 0; idx < 10; idx++)
            {
                if (dic.ContainsKey(idx.ToString()) == false)
                    dic.Add(idx.ToString(), new List<string>());

                dic[idx.ToString()].Add(idx.ToString());
            }
        }
    }
}

실행 결과

  • Value 에 List<T> 컬렉션을 이용하면, 동일한 키에 여러개의 데이터를 넣을 수가 있습니다.
  • 만약 동일한 키 인경우에는, new List<T> 객체를 생성해서 새롭게 데이터를 Add 할 수 있도록 해주면 됩니다.
  • 실행 결과, 동일한 키에 Value Count 가 여러개 인 것을 확인할 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY