C#에서 HybridDictionary는 소량의 데이터가 저장될 때는 ListDictionary처럼 동작하고, 항목 수가 많아지면 Hashtable로 전환되어 성능을 최적화하는 특수한 컬렉션입니다.
HybridDictionary에 저장된 모든 키/값 쌍을 한 번에 삭제하려면 Clear() 메서드를 사용하면 됩니다. 이 메서드는 컬렉션의 Count 값을 0으로 만들며, 모든 요소에 대한 참조를 해제합니다.
Clear() 메서드 기본 문법
dict.Clear();
매개변수 없이 호출하며, 반환값은 없습니다(void). 호출이 완료되면 해당 HybridDictionary는 비어 있는 상태가 됩니다.
예제 1: 두 개의 HybridDictionary에서 항목 제거하기
아래 예제에서는 두 개의 HybridDictionary를 생성하고, 그중 하나에 대해 Clear() 메서드를 호출하여 모든 항목을 제거하는 과정을 보여줍니다.
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
// 첫 번째 HybridDictionary 생성 및 항목 추가
HybridDictionary dict1 = new HybridDictionary();
dict1.Add("A", "Books");
dict1.Add("B", "Electronics");
dict1.Add("C", "Smart Wearables");
dict1.Add("D", "Pet Supplies");
dict1.Add("E", "Clothing");
dict1.Add("F", "Footwear");
Console.WriteLine("HybridDictionary1 elements...");
foreach(DictionaryEntry d in dict1){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of Key/value pairs in Dictionary1 = " + dict1.Count);
// 두 번째 HybridDictionary 생성 및 항목 추가
HybridDictionary dict2 = new HybridDictionary();
dict2.Add("1", "One");
dict2.Add("2", "Two");
dict2.Add("3", "Three");
dict2.Add("4", "Four");
dict2.Add("5", "Five");
dict2.Add("6", "Six");
Console.WriteLine("\nHybridDictionary2 elements...");
foreach(DictionaryEntry d in dict2){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of Key/value pairs in Dictionary2 = " + dict2.Count);
// dict2의 모든 항목 제거
dict2.Clear();
Console.WriteLine("Count of Key/value pairs in Dictionary2 (Updated) = " + dict2.Count);
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
HybridDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear Count of Key/value pairs in Dictionary1 = 6 HybridDictionary2 elements... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six Count of Key/value pairs in Dictionary2 = 6 Count of Key/value pairs in Dictionary2 (Updated) = 0
실행 결과를 보면 dict2.Clear() 호출 전에는 항목이 6개였지만, 호출 후 Count 값이 0으로 변경된 것을 확인할 수 있습니다. 반면 Clear()를 호출하지 않은 dict1은 여전히 6개의 항목을 유지하고 있습니다.
예제 2: 간단한 HybridDictionary 활용
이번에는 항목을 추가만 하고 Clear()를 호출하지 않은 기본적인 사용 예제입니다.
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
HybridDictionary dict = new HybridDictionary();
dict.Add("One", "Accessories");
dict.Add("Two", "Pet Supplies");
Console.WriteLine("HybridDictionary elements...");
foreach(DictionaryEntry d in dict){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Count of Key/value pairs in Dictionary = " + dict.Count);
}
}출력 결과
HybridDictionary elements... One Accessories Two Pet Supplies Count of Key/value pairs in Dictionary = 2
정리
- HybridDictionary의 모든 항목을 제거하려면 Clear() 메서드를 사용합니다.
- Clear() 호출 후 컬렉션의 Count 속성은 0이 됩니다.
- Clear()는 매개변수와 반환값이 없으며, 컬렉션 자체는 그대로 유지되고 내용만 비워집니다.