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
Selected Reading
Check if ListDictionary is read-only in C#
The ListDictionary class in C# provides an IsReadOnly property to check if the dictionary is read-only. This property returns false for a standard ListDictionary, as it allows adding, removing, and modifying elements. However, you can create read-only wrappers using collection utilities.
Syntax
Following is the syntax to check if a ListDictionary is read-only −
bool isReadOnly = listDictionary.IsReadOnly;
Using IsReadOnly Property
Example
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
ListDictionary dict1 = new ListDictionary();
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("ListDictionary1 elements...");
foreach(DictionaryEntry d in dict1){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Is the ListDictionary1 having fixed size? = " + dict1.IsFixedSize);
Console.WriteLine("If ListDictionary1 read-only? = " + dict1.IsReadOnly);
Console.WriteLine("Is ListDictionary1 synchronized = " + dict1.IsSynchronized);
Console.WriteLine("The ListDictionary1 has the key M? = " + dict1.Contains("M"));
ListDictionary dict2 = new ListDictionary();
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("\nListDictionary2 key-value pairs...");
IDictionaryEnumerator demoEnum = dict2.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("Key = " + demoEnum.Key + ", Value = " + demoEnum.Value);
Console.WriteLine("Is the ListDictionary2 having fixed size? = " + dict2.IsFixedSize);
Console.WriteLine("If ListDictionary2 read-only? = " + dict2.IsReadOnly);
Console.WriteLine("Is ListDictionary2 synchronized = " + dict2.IsSynchronized);
Console.WriteLine("The ListDictionary2 has the key 5? = " + dict2.Contains("5"));
}
}
The output of the above code is −
ListDictionary1 elements... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear Is the ListDictionary1 having fixed size? = False If ListDictionary1 read-only? = False Is ListDictionary1 synchronized = False The ListDictionary1 has the key M? = False ListDictionary2 key-value pairs... Key = 1, Value = One Key = 2, Value = Two Key = 3, Value = Three Key = 4, Value = Four Key = 5, Value = Five Key = 6, Value = Six Is the ListDictionary2 having fixed size? = False If ListDictionary2 read-only? = False Is ListDictionary2 synchronized = False The ListDictionary2 has the key 5? = True
Checking Multiple Properties
Example
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main(){
ListDictionary dict = new ListDictionary();
dict.Add("1", "SUV");
dict.Add("2", "Sedan");
dict.Add("3", "Utility Vehicle");
dict.Add("4", "Compact Car");
dict.Add("5", "SUV");
dict.Add("6", "Sedan");
dict.Add("7", "Utility Vehicle");
dict.Add("8", "Compact Car");
dict.Add("9", "Crossover");
dict.Add("10", "Electric Car");
Console.WriteLine("ListDictionary elements...");
foreach(DictionaryEntry d in dict){
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nIs the ListDictionary having fixed size? = " + dict.IsFixedSize);
Console.WriteLine("If ListDictionary read-only? = " + dict.IsReadOnly);
Console.WriteLine("Is ListDictionary synchronized = " + dict.IsSynchronized);
Console.WriteLine("The ListDictionary has the key K? = " + dict.Contains("K"));
Console.WriteLine("The ListDictionary has the key 9? = " + dict.Contains("9"));
}
}
The output of the above code is −
ListDictionary elements... 1 SUV 2 Sedan 3 Utility Vehicle 4 Compact Car 5 SUV 6 Sedan 7 Utility Vehicle 8 Compact Car 9 Crossover 10 Electric Car Is the ListDictionary having fixed size? = False If ListDictionary read-only? = False Is ListDictionary synchronized = False The ListDictionary has the key K? = False The ListDictionary has the key 9? = True
Key Properties of ListDictionary
| Property | Description | Typical Value |
|---|---|---|
| IsReadOnly | Indicates if the dictionary is read-only | False (modifiable) |
| IsFixedSize | Indicates if the dictionary has a fixed size | False (dynamic size) |
| IsSynchronized | Indicates if access is synchronized (thread-safe) | False (not thread-safe) |
Conclusion
The IsReadOnly property of ListDictionary returns false by default, indicating that the dictionary can be modified. This property, along with IsFixedSize and IsSynchronized, helps determine the characteristics and capabilities of your ListDictionary instance.
Advertisements
