Section 27.2: Dictionary<TKey, TValue>

Dictionary<TKey, TValue> 은 일종의 map 이라고 할 수 있다. 하나의 Dictionary 내에서는 주어진 key 에 대하여 오직 하나의 value 만이 존재할 수 있다.

using System.Collections.Generic; var people = new Dictionary<string, int> { { "John", 30 }, {"Mary", 35}, {"Jack", 40} }; // 데이터 읽기 Console.WriteLine(people["John"]); // 30 Console.WriteLine(people["George"]); // KeyNotFoundException 을 발생시킨다 int age; if (people.TryGetValue("Mary", out age)) { Console.WriteLine(age); // 35 } // 데이터를 추가 및 변경하기 people["John"] = 40; // 이러한 방식으로 값을 덮어쓸 수 있다 people.Add("John", 40); // "John" 이라는 key 가 이미 존재하므로 ArgumentException 을 발생시킨다 // 요소 반복 수행하기 (iterate) foreach(KeyValuePair<string, int> person in people) { Console.WriteLine("Name={0}, Age={1}", person.Key, person.Value); } foreach(string name in people.Keys) { Console.WriteLine("Name={0}", name); } foreach(int age in people.Values) { Console.WriteLine("Age={0}", age); }

컬렉션 초기화 (collection initialization) 수행시에 중복된 키를 선언한 경우:

var people = new Dictionary<string, int> { { "John", 30 }, {"Mary", 35}, {"Jack", 40}, {"Jack", 40} }; // "Jack" 이라는 key 가 이미 존재하므로 ArgumentException 을 발생시킨다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts