딕셔너리는 키가 중복되는 것을 허용하지 않는다.
따라서 동일한 키에 여러 객체를 관련지을 수 없다.
동일한 줄임말에 여러 용어를 대응시키려고 해도 Dictionary<string, string>에는 대응시킬 수 없다.
키에 중복을 허용하여 여러 용어를 대응 시키려면 값의 형을 string이 아니라 List<string>으로 지정해야 한다.
이렇게 하면 하나의 키에 여러 용어를 저장할 수 있게 된다.
//딕셔너리 초기화
var dict = new Dictionary<string, List<string>>()
{
{"A.I", new List<string> {"Artificial Intelligence", "Avian Influenza", }},
{"DPS", new List<string> {"Damage Per Second", "Distance Per Stroke", }},
};
//딕셔너리에 추가
var key = "DPS";
var value = "Dividends Per Share";
if (dict.ContainKey(key))
{
//"DPS"가 이미 등록되어 있다면 여기에 "Dividends Per Share"를 추가한다.
//여기서 Add는 딕셔너리가 아니라 리스트의 메서드이다.
//값인 리스트에 추가되는 것이다.
dict[key].Add(value);
}
else
{
//"DPS"가 등록되어 있지않다면 "Dividends Per Share"가 저장된 리스트 객체를 등록한다.
dict[key] = new List<string> { value };
}
'C# > Dictionary' 카테고리의 다른 글
사용자가 정의한 클래스를 키로 사용하는 딕셔너리 (0) | 2021.08.23 |
---|---|
배열, 리스트, 딕셔너리로부터 딕셔너리를 생성하는 방법 (0) | 2021.08.22 |
딕셔너리의 LINQ와 foreach 활용 (0) | 2021.08.22 |
딕셔너리 요수 추가, 추출, 삭제 (0) | 2021.08.17 |