C#의 StringDictionary는 키와 값이 모두 문자열로 구성된 해시 테이블을 구현하는 컬렉션 클래스입니다. 이 컬렉션에서는 인덱서(Item 속성)를 사용하여 지정된 키와 연결된 값을 손쉽게 가져오거나 설정할 수 있습니다.
아래 예제를 통해 실제 사용 방법을 살펴보겠습니다.
예제 1: 지정된 키의 값 가져오기
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary strDict = new StringDictionary();
strDict.Add("A", "Books");
strDict.Add("B", "Electronics");
strDict.Add("C", "Appliances");
strDict.Add("D", "Pet Supplies");
strDict.Add("E", "Clothing");
strDict.Add("F", "Footwear");
Console.WriteLine("키 D에 연결된 값 = " + strDict["D"]);
Console.WriteLine("키 F에 연결된 값 = " + strDict["F"]);
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
키 D에 연결된 값 = Pet Supplies 키 F에 연결된 값 = Footwear
예제 2: 지정된 키의 값 설정(수정)하기
인덱서에 새로운 값을 할당하면 기존 키에 연결된 값이 업데이트됩니다. 아래 예제에서는 키 "F"의 값을 변경하는 과정을 보여줍니다.
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary strDict = new StringDictionary();
strDict.Add("A", "Books");
strDict.Add("B", "Electronics");
strDict.Add("C", "Appliances");
strDict.Add("D", "Pet Supplies");
strDict.Add("E", "Clothing");
strDict.Add("F", "Footwear");
Console.WriteLine("키 D에 연결된 값 = " + strDict["D"]);
Console.WriteLine("키 F에 연결된 값 = " + strDict["F"]);
// 키 F의 값을 새로 설정
strDict["F"] = "HDD";
Console.WriteLine("키 F에 연결된 값 (수정 후) = " + strDict["F"]);
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
키 D에 연결된 값 = Pet Supplies 키 F에 연결된 값 = Footwear 키 F에 연결된 값 (수정 후) = HDD
참고 사항
StringDictionary의 인덱서(this[string key])는 읽기와 쓰기를 모두 지원합니다. 존재하지 않는 키로 값을 읽으려 하면 null이 반환되며, 존재하지 않는 키에 값을 설정하면 해당 키가 새로 추가됩니다. 따라서 값을 조회하기 전에 ContainsKey() 메서드로 키의 존재 여부를 확인하는 것이 안전한 코딩 습관입니다.