C#-এ HybridDictionary.IsSynchronized প্রপার্টি চেক করে যে HybridDictionary থ্রেড-সেফ (সিঙ্ক্রোনাইজড) কিনা। ডিফল্টভাবে HybridDictionary সিঙ্ক্রোনাইজড নয়। থ্রেড-সেফ ভার্শনের জন্য Hashtable.Synchronized বা কাস্টম লকিং ব্যবহার করতে হয়।
উদাহরণ ১: দুটি HybridDictionary-র IsSynchronized চেক
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 এলিমেন্টসমূহ...");
foreach (DictionaryEntry d in dict1) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("HybridDictionary1 ফিক্সড সাইজ? = " + dict1.IsFixedSize);
Console.WriteLine("HybridDictionary1 রিড-অনলি? = " + dict1.IsReadOnly);
Console.WriteLine("HybridDictionary1 সিঙ্ক্রোনাইজড? = " + 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 এলিমেন্টসমূহ...");
foreach (DictionaryEntry d in dict2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("HybridDictionary1 কি HybridDictionary2-এর সমান? = " + (dict1.Equals(dict2)));
Console.WriteLine("HybridDictionary2 ফিক্সড সাইজ? = " + dict2.IsFixedSize);
Console.WriteLine("HybridDictionary2 রিড-অনলি? = " + dict2.IsReadOnly);
Console.WriteLine("HybridDictionary2 সিঙ্ক্রোনাইজড? = " + dict2.IsSynchronized);
}
}
আউটপুট
HybridDictionary1 এলিমেন্টসমূহ... A Books B Electronics C Smart Wearables D Pet Supplies E Clothing F Footwear HybridDictionary1 ফিক্সড সাইজ? = False HybridDictionary1 রিড-অনলি? = False HybridDictionary1 সিঙ্ক্রোনাইজড? = False HybridDictionary2 এলিমেন্টসমূহ... 1 One 2 Two 3 Three 4 Four 5 Five 6 Six HybridDictionary1 কি HybridDictionary2-এর সমান? = False HybridDictionary2 ফিক্সড সাইজ? = False HybridDictionary2 রিড-অনলি? = False HybridDictionary2 সিঙ্ক্রোনাইজড? = False
উদাহরণ ২: একক HybridDictionary-র প্রপার্টি
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 এলিমেন্টসমূহ...");
foreach (DictionaryEntry d in dict) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("HybridDictionary ফিক্সড সাইজ? = " + dict.IsFixedSize);
Console.WriteLine("HybridDictionary রিড-অনলি? = " + dict.IsReadOnly);
Console.WriteLine("HybridDictionary সিঙ্ক্রোনাইজড? = " + dict.IsSynchronized);
}
}
আউটপুট
HybridDictionary এলিমেন্টসমূহ... 1 Finance 2 Marketing 3 IT 4 Operations 5 Purchase HybridDictionary ফিক্সড সাইজ? = False HybridDictionary রিড-অনলি? = False HybridDictionary সিঙ্ক্রোনাইজড? = False
ব্যাখ্যা: IsSynchronized সবসময় false রিটার্ন করে কারণ HybridDictionary বিল্ট-ইন থ্রেড সেফটি দেয় না। মাল্টি-থ্রেড এনভায়রনমেন্টে লক (lock(dict.SyncRoot)) বা ConcurrentDictionary<TKey, TValue> ব্যবহার করা উচিত।