Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Removing all entries from HybridDictionary in C#
A HybridDictionary in C# is part of the System.Collections.Specialized namespace that automatically switches between a ListDictionary and Hashtable based on the number of elements. To remove all entries from a HybridDictionary, you use the Clear() method.
Syntax
Following is the syntax for removing all entries from a HybridDictionary −
hybridDictionary.Clear();
Using Clear() Method
The Clear() method removes all key-value pairs from the HybridDictionary and sets the Count property to zero −
Example
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
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 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.Clear();
Console.WriteLine("Count of Key/value pairs in Dictionary2 (Updated) = " + dict2.Count);
}
}
The output of the above code is −
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
Clear() with Small Collections
The Clear() method works the same way regardless of whether the HybridDictionary is using its internal ListDictionary or Hashtable implementation −
Example
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 before Clear(): " + dict.Count);
dict.Clear();
Console.WriteLine("Count after Clear(): " + dict.Count);
Console.WriteLine("Dictionary is empty: " + (dict.Count == 0));
}
}
The output of the above code is −
HybridDictionary elements... One Accessories Two Pet Supplies Count before Clear(): 2 Count after Clear(): 0 Dictionary is empty: True
Key Points
-
The
Clear()method removes all elements and resets theCountto zero. -
After calling
Clear(), the HybridDictionary reverts to using ListDictionary internally. -
The method has a time complexity of O(1) and is the most efficient way to remove all entries.
-
No exceptions are thrown even if the dictionary is already empty.
Conclusion
The Clear() method is the standard and most efficient way to remove all entries from a HybridDictionary in C#. It immediately removes all key-value pairs and resets the collection to an empty state, making it ready for new data.
