Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 딕셔너리(Dictionary)란 무엇일까요? 개념부터 선언과 사용법까지 한눈에 보기

딕셔너리(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#의 딕셔너리는 키-값 구조의 데이터를 효율적으로 관리할 수 있는 강력한 컬렉션이며, 실무에서도 데이터 조회와 매핑 작업에 널리 활용됩니다.