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

C#에서 Dictionary(맵)를 반복하는 방법 완벽 가이드

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를 직접 순회하면 키와 값을 동시에 다룰 수도 있습니다.