C#에서 Dictionary(딕셔너리)는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 대표적인 컬렉션입니다. 이 글에서는 딕셔너리에 요소를 추가하고, 키 목록을 가져온 뒤, foreach 문으로 전체 데이터를 반복하며 출력하는 방법을 단계별로 알아보겠습니다.
1단계: 딕셔너리에 요소 추가하기
먼저 IDictionary<int, int> 타입의 딕셔너리를 생성하고 Add() 메서드를 사용해 키와 값을 추가합니다.
IDictionary<int, int> d = new Dictionary<int, int>(); d.Add(1, 97); d.Add(2, 89); d.Add(3, 77); d.Add(4, 88);
2단계: 키 목록 가져오기
딕셔너리의 모든 키는 Keys 속성으로 접근할 수 있습니다. 이를 List<int>로 변환하면 반복 처리가 더욱 편리해집니다.
List<int> myList = new List<int>(d.Keys);
3단계: foreach로 반복하기
키 목록을 순회하면서 각 키에 해당하는 값도 함께 출력합니다.
foreach (int k in myList) {
Console.WriteLine("{0}, {1}", k, d[k]);
}전체 예제 코드
지금까지의 과정을 하나의 프로그램으로 정리하면 다음과 같습니다.
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);
List<int> myList = new List<int>(d.Keys);
foreach (int k in myList) {
Console.WriteLine("{0}, {1}", k, d[k]);
}
}
}실행 결과
1, 97 2, 89 3, 77 4, 88
참고: 더 간결한 반복 방법
C#에서는 키 목록을 별도로 만들지 않고 KeyValuePair를 사용해 딕셔너리를 직접 순회할 수도 있습니다.
foreach (KeyValuePair<int, int> pair in d) {
Console.WriteLine("{0}, {1}", pair.Key, pair.Value);
}이 방식은 코드가 더 간결하고 성능 면에서도 유리하므로, 실무에서는 KeyValuePair 기반의 반복문이 널리 사용됩니다.