C# Check if HybridDictionary is read only

The HybridDictionary class in C# provides a collection that uses a ListDictionary for small collections and switches to a Hashtable for larger collections. To check if a HybridDictionary is read-only, you can use the IsReadOnly property.

Syntax

Following is the syntax to check if a HybridDictionary is read-only −

bool isReadOnly = hybridDictionary.IsReadOnly;

Return Value

The IsReadOnly property returns a bool value −

  • true − if the HybridDictionary is read-only
  • false − if the HybridDictionary allows modifications

HybridDictionary Properties IsReadOnly Can modify? true/false IsFixedSize Size changeable? true/false IsSynchronized Thread safe? true/false

Using IsReadOnly Property

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("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

Simple ReadOnly Check

Example

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

Key Points

  • By default, HybridDictionary collections are not read-only, so IsReadOnly returns false.
  • The IsReadOnly property is inherited from the IDictionary interface.
  • A read-only HybridDictionary would not allow adding, removing, or modifying elements.
  • HybridDictionary automatically switches from ListDictionary to Hashtable when the collection grows beyond a certain size.

Conclusion

The IsReadOnly property of HybridDictionary allows you to check if the collection permits modifications. By default, HybridDictionary instances are not read-only, making them suitable for dynamic collections that need to add or remove elements efficiently.

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

141 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements