딕셔너리(Dictionary)는 C#에서 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 컬렉션입니다. 각 키는 고유해야 하며, 이 키를 통해 해당 값에 빠르게 접근할 수 있다는 점이 가장 큰 특징입니다.
딕셔너리는 System.Collections.Generic 네임스페이스에 포함되어 있으며, 제네릭(Generic) 기반으로 동작하기 때문에 타입 안정성이 보장됩니다.
딕셔너리 선언 및 초기화
딕셔너리를 사용하려면 먼저 IDictionary<TKey, TValue> 또는 Dictionary<TKey, TValue> 형태로 객체를 선언하고 초기화합니다.
IDictionary<int, int> d = new Dictionary<int, int>();
위 코드에서는 키와 값의 타입을 선언 시점에 지정했습니다. 여기서 int는 키의 타입이고, 값 역시 int 타입으로 설정되어 있습니다. 즉, 정수형 키와 정수형 값을 저장하는 딕셔너리 객체 d가 생성된 것입니다.
만약 문자열 값을 저장하고 싶다면 다음과 같이 타입을 지정하면 됩니다.
Dictionary<int, string> d = new Dictionary<int, string>();
예제 코드
이제 실제로 딕셔너리를 생성하고 요소를 추가한 뒤, 저장된 요소의 개수를 출력하는 예제를 살펴보겠습니다.
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
IDictionary<int, int> d = new Dictionary<int, int>();
d.Add(1, 97);
d.Add(2, 89);
d.Add(3, 77);
d.Add(4, 88);
// 딕셔너리 요소 개수 출력
Console.WriteLine("Dictionary elements: " + d.Count);
}
}
실행 결과
Dictionary elements: 4
주요 특징 정리
- 키의 고유성: 동일한 키를 중복해서 추가할 수 없으며, 이미 존재하는 키를
Add()로 추가하면 예외가 발생합니다. - 빠른 조회 속도: 해시 테이블 기반으로 구현되어 있어 키를 통한 값 검색이 매우 빠릅니다.
- 타입 안정성: 제네릭을 사용하므로 컴파일 시점에 키와 값의 타입이 결정되어 런타임 오류를 줄일 수 있습니다.
- Count 프로퍼티: 딕셔너리에 저장된 요소(키-값 쌍)의 개수를 확인할 수 있습니다.
이처럼 C#의 딕셔너리는 키-값 구조의 데이터를 효율적으로 관리할 수 있는 강력한 컬렉션이며, 실무에서도 데이터 조회와 매핑 작업에 널리 활용됩니다.