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

C#에서 지정된 키로 HybridDictionary의 값을 가져오거나 설정하는 방법

C#의 HybridDictionary는 컬렉션 크기가 작을 때는 ListDictionary로 동작하고, 컬렉션이 커지면 자동으로 Hashtable로 전환되는 컬렉션 클래스입니다. 이 클래스에서 지정된 키를 사용해 값을 가져오거나 설정하려면 인덱서(this[])를 활용하면 됩니다.

예제 1 – 지정된 키의 값 가져오기

아래 예제에서는 HybridDictionary에 여러 항목을 추가한 후, 키 "5"에 해당하는 값을 인덱서를 통해 가져와 출력합니다.

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary myDict = new HybridDictionary();
      myDict.Add("1", "Tablet");
      myDict.Add("2", "Desktop");
      myDict.Add("3", "Speakers");
      myDict.Add("4", "Laptop");
      myDict.Add("5", "Notebook");
      myDict.Add("6", "Ultrabook");
      myDict.Add("7", "HDD");
      myDict.Add("8", "SDD");
      Console.WriteLine("키 5의 값 = " + myDict["5"]);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

키 5의 값 = Notebook

예제 2 – 지정된 키의 값 설정(수정)하기

인덱서를 사용하면 기존 키에 새로운 값을 할당하여 간단히 수정할 수도 있습니다. 아래 예제에서는 키 "5"의 값을 "Smart Watches"로 변경한 뒤 다시 출력합니다.

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary myDict = new HybridDictionary();
      myDict.Add("1", "Tablet");
      myDict.Add("2", "Desktop");
      myDict.Add("3", "Speakers");
      myDict.Add("4", "Laptop");
      myDict.Add("5", "Notebook");
      myDict.Add("6", "Ultrabook");
      myDict.Add("7", "HDD");
      myDict.Add("8", "SDD");
      Console.WriteLine("키 5의 값 = " + myDict["5"]);
      // 인덱서를 사용해 값 변경
      myDict["5"] = "Smart Watches";
      Console.WriteLine("키 5의 값 [변경 후] = " + myDict["5"]);
   }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

키 5의 값 = Notebook
키 5의 값 [변경 후] = Smart Watches

핵심 정리

  • 값 가져오기: myDict["키"] 형태로 인덱서를 읽으면 해당 키에 연결된 값을 반환합니다.
  • 값 설정/수정: myDict["키"] = 값 형태로 할당하면 해당 키의 값이 새로운 값으로 대체됩니다. 키가 존재하지 않으면 새 항목이 추가됩니다.
  • HybridDictionary는 소규모 컬렉션에서는 ListDictionary의 성능을, 대규모 컬렉션에서는 Hashtable의 성능을 발휘하므로 요소 수가 가변적인 상황에서 유용합니다.