C#에는 Java의 Map과 같은 내장 맵(Map) 타입이 없습니다. 대신 Dictionary<TKey, TValue> 클래스를 사용하면 키-값 쌍으로 이루어진 데이터를 손쉽게 저장하고 반복 처리할 수 있습니다.
1. Dictionary 생성하기
먼저 키는 문자열(string), 값은 정수(int)로 구성된 Dictionary를 생성합니다.
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("keyboard", 1);
d.Add("mouse", 2);2. 키 목록 가져오기
LINQ의 ToList() 메서드를 사용하면 Dictionary에 저장된 모든 키를 리스트 형태로 추출할 수 있습니다.
var val = d.Keys.ToList();
3. foreach 루프로 맵 반복하기
추출한 키 목록을 foreach 루프로 순회하며 각 항목을 하나씩 출력합니다.
foreach (var key in val) {
Console.WriteLine(key);
}전체 예제 코드
아래 코드는 Dictionary를 생성하고, 키를 오름차순으로 정렬한 뒤 순서대로 출력하는 전체 과정을 보여줍니다.
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
Dictionary<string, int> d = new Dictionary<string, int>();
d.Add("keyboard", 1);
d.Add("mouse", 2);
// 키 목록 가져오기
var val = d.Keys.ToList();
// 키 정렬
val.Sort();
// 정렬된 키 출력
foreach (var key in val) {
Console.WriteLine(key);
}
}
}실행 결과
keyboard mouse
이처럼 C#에서는 Dictionary와 foreach 루프만으로 맵 데이터를 간단하게 반복 처리할 수 있습니다. 위 예제처럼 Keys.ToList()로 키만 추출해 정렬·순회할 수도 있고, KeyValuePair를 직접 순회하면 키와 값을 동시에 다룰 수도 있습니다.