Check if HybridDictionary has fixed size in C#

The HybridDictionary class in C# is a specialized collection that combines the performance benefits of both ListDictionary and Hashtable. To check if a HybridDictionary has a fixed size, you can use the IsFixedSize property, which returns false for standard HybridDictionary instances since they are dynamically resizable.

Syntax

Following is the syntax for checking if a HybridDictionary has a fixed size −

bool isFixed = hybridDictionary.IsFixedSize;

HybridDictionary Properties

The HybridDictionary class provides several properties to check its characteristics −

  • IsFixedSize − Returns true if the dictionary has a fixed size; otherwise, false

  • IsReadOnly − Returns true if the dictionary is read-only; otherwise, false

  • IsSynchronized − Returns true if access to the dictionary is synchronized; otherwise, false

Example 1 − Checking HybridDictionary Properties

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("Is the HybridDictionary1 having fixed size? = " + dict1.IsFixedSize);
      Console.WriteLine("If HybridDictionary1 read-only? = " + dict1.IsReadOnly);
      Console.WriteLine("Is HybridDictionary1 synchronized = " + dict1.IsSynchronized);
      
      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("Is HybridDictionary1 equal to HybridDictionary2? = " + (dict1.Equals(dict2)));
      Console.WriteLine("Is the HybridDictionary2 having fixed size? = " + dict2.IsFixedSize);
      Console.WriteLine("If HybridDictionary2 read-only? = " + dict2.IsReadOnly);
      Console.WriteLine("Is HybridDictionary2 synchronized = " + dict2.IsSynchronized);
   }
}

The output of the above code is −

HybridDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Is the HybridDictionary1 having fixed size? = False
If HybridDictionary1 read-only? = False
Is HybridDictionary1 synchronized = False

HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Is HybridDictionary1 equal to HybridDictionary2? = False
Is the HybridDictionary2 having fixed size? = False
If HybridDictionary2 read-only? = False
Is HybridDictionary2 synchronized = False

Example 2 − Simple HybridDictionary Size Check

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      HybridDictionary dict = new HybridDictionary();
      dict.Add("1", "Finance");
      dict.Add("2", "Marketing");
      dict.Add("3", "IT");
      dict.Add("4", "Operations");
      dict.Add("5", "Purchase");
      
      Console.WriteLine("HybridDictionary elements...");
      foreach(DictionaryEntry d in dict) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      
      Console.WriteLine("Is the HybridDictionary having fixed size? = " + dict.IsFixedSize);
      Console.WriteLine("If HybridDictionary read-only? = " + dict.IsReadOnly);
      Console.WriteLine("Is HybridDictionary synchronized = " + dict.IsSynchronized);
   }
}

The output of the above code is −

HybridDictionary elements...
1 Finance
2 Marketing
3 IT
4 Operations
5 Purchase
Is the HybridDictionary having fixed size? = False
If HybridDictionary read-only? = False
Is HybridDictionary synchronized = False

How HybridDictionary Works

The HybridDictionary automatically switches between internal implementations based on the number of elements −

  • Small collections (< 10 items) − Uses ListDictionary for better performance

  • Large collections (>= 10 items) − Switches to Hashtable for faster lookup

This dynamic behavior means IsFixedSize always returns false because the dictionary can grow and shrink as needed.

Conclusion

The IsFixedSize property of HybridDictionary always returns false because it is designed to be a dynamically resizable collection. This property helps determine whether you can add or remove elements from the dictionary at runtime.

Updated on: 2026-03-17T07:04:36+05:30

165 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements