C#의 SortedList 클래스는 키를 기준으로 자동 정렬되는 키-값(key-value) 쌍 컬렉션입니다. 이 컬렉션에서 지정된 키와 연결된 값을 가져오거나 새로 설정하려면 인덱서(indexer)를 사용하면 됩니다. 인덱서에 키를 지정해 접근하면 해당 값이 반환되며, 대입 연산자(=)와 함께 사용하면 기존 키의 값을 손쉽게 변경할 수 있습니다.
예제 1: 키의 값 가져오기 및 업데이트
using System;
using System.Collections;
public class Demo {
public static void Main() {
SortedList list = new SortedList();
list.Add("A", "Books");
list.Add("B", "Electronics");
list.Add("C", "Appliances");
list.Add("D", "Pet Supplies");
list.Add("E", "Clothing");
list.Add("F", "Footwear");
// 키 "E"와 연결된 값 가져오기
Console.WriteLine("키 E와 연결된 값 = " + list["E"]);
// 키 "E"의 값 변경
list["E"] = "HDD";
Console.WriteLine("키 E와 연결된 값 [업데이트 후] = " + list["E"]);
}
}출력 결과
키 E와 연결된 값 = Clothing 키 E와 연결된 값 [업데이트 후] = HDD
위 예제에서 list["E"]를 통해 키 "E"에 저장된 값 "Clothing"을 읽어왔고, 이후 새로운 값 "HDD"를 대입하여 기존 값을 성공적으로 변경한 것을 확인할 수 있습니다.
예제 2: 다른 키의 값 조회
using System;
using System.Collections;
public class Demo {
public static void Main() {
SortedList list = new SortedList();
list.Add("A", "Books");
list.Add("B", "Electronics");
list.Add("C", "Appliances");
list.Add("D", "Pet Supplies");
list.Add("E", "Clothing");
list.Add("F", "Footwear");
// 키 "D"와 연결된 값 가져오기
Console.WriteLine("키 D와 연결된 값 = " + list["D"]);
}
}출력 결과
키 D와 연결된 값 = Pet Supplies
참고 사항
- 값 가져오기: 지정한 키가 SortedList에 존재하지 않으면 null이 반환될 수 있습니다. 따라서
ContainsKey()메서드로 키의 존재 여부를 먼저 확인하는 것이 안전합니다. - 값 설정: 이미 존재하는 키에 값을 대입하면 기존 값이 갱신되고, 존재하지 않는 키에 값을 대입하면 새로운 요소로 추가됩니다.