HybridDictionary ক্লাস (namespace: System.Collections.Specialized) একটি হাইব্রিড ডিকশনারি যা ছোট আকারে ListDictionary এবং বড় আকারে Hashtable ব্যবহার করে অপ্টিমাইজড পারফরম্যান্স প্রদান করে। এটি শুধুমাত্র পঠনযোগ্য কিনা তা জানার জন্য IsReadOnly প্রোপার্টি ব্যবহার করা হয়।
উদাহরণ ১: দুটি HybridDictionary-র প্রোপার্টি যাচাই
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
HybridDictionary dict1 = new HybridDictionary();
dict1.Add("A", "বই");
dict1.Add("B", "ইলেকট্রনিক্স");
dict1.Add("C", "স্মার্ট ওয়েয়ারেবল");
dict1.Add("D", "পেট সাপ্লাই");
dict1.Add("E", "পোশাক");
dict1.Add("F", "ফুটওয়েয়ার");
Console.WriteLine("HybridDictionary1 উপাদানসমূহ...");
foreach (DictionaryEntry d in dict1) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("নির্দিষ্ট আকার কিনা? = " + dict1.IsFixedSize);
Console.WriteLine("শুধুমাত্র পঠনযোগ্য কিনা? = " + dict1.IsReadOnly);
Console.WriteLine("সিঙ্ক্রোনাইজড কিনা? = " + dict1.IsSynchronized);
HybridDictionary dict2 = new HybridDictionary();
dict2.Add("1", "এক");
dict2.Add("2", "দুই");
dict2.Add("3", "তিন");
dict2.Add("4", "চার");
dict2.Add("5", "পাঁচ");
dict2.Add("6", "ছয়");
Console.WriteLine("\nHybridDictionary2 উপাদানসমূহ...");
foreach (DictionaryEntry d in dict2) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("HybridDictionary1 == HybridDictionary2? = " + dict1.Equals(dict2));
Console.WriteLine("Dict2 নির্দিষ্ট আকার কিনা? = " + dict2.IsFixedSize);
Console.WriteLine("Dict2 শুধুমাত্র পঠনযোগ্য কিনা? = " + dict2.IsReadOnly);
Console.WriteLine("Dict2 সিঙ্ক্রোনাইজড কিনা? = " + dict2.IsSynchronized);
}
}
আউটপুট
HybridDictionary1 উপাদানসমূহ... A বই B ইলেকট্রনিক্স C স্মার্ট ওয়েয়ারেবল D পেট সাপ্লাই E পোশাক F ফুটওয়েয়ার নির্দিষ্ট আকার কিনা? = False শুধুমাত্র পঠনযোগ্য কিনা? = False সিঙ্ক্রোনাইজড কিনা? = False HybridDictionary2 উপাদানসমূহ... 1 এক 2 দুই 3 তিন 4 চার 5 পাঁচ 6 ছয় HybridDictionary1 == HybridDictionary2? = False Dict2 নির্দিষ্ট আকার কিনা? = False Dict2 শুধুমাত্র পঠনোগ্য কিনা? = False Dict2 সিঙ্ক্রোনাইজড কিনা? = 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", "ফিন্যান্স");
dict.Add("2", "মার্কেটিং");
dict.Add("3", "আইটি");
dict.Add("4", "অপারেশনস");
dict.Add("5", "পরচেজ");
Console.WriteLine("HybridDictionary উপাদানসমূহ...");
foreach (DictionaryEntry d in dict) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("নির্দিষ্ট আকার কিনা? = " + dict.IsFixedSize);
Console.WriteLine("শুধুমাত্র পঠনযোগ্য কিনা? = " + dict.IsReadOnly);
Console.WriteLine("সিঙ্ক্রোনাইজড কিনা? = " + dict.IsSynchronized);
}
}
আউটপুট
HybridDictionary উপাদানসমূহ... 1 ফিন্যান্স 2 মার্কেটিং 3 আইটি 4 অপারেশনস 5 পরচেজ নির্দিষ্ট আকার কিনা? = False শুধুমাত্র পঠনযোগ্য কিনা? = False সিঙ্ক্রোনাইজড কিনা? = False
গুরুত্বপূর্ণ প্রোপার্টিগুলোর অর্থ
| প্রোপার্টি | বিবরণ |
|---|---|
IsReadOnly | true হলে ডিকশনারি মডিফাই করা যায় না। HybridDictionary এর জন্য এটি সবসময় false রিটার্ন করে। |
IsFixedSize | true হলে ডিকশনারির আকার পরিবর্তন করা যায় না। HybridDictionary এর জন্য এটি সবসময় false। |
IsSynchronized | true হলে ডিকশনারি থ্রেড-সেফ। HybridDictionary এর জন্য এটি সবসময় false। |
নোট: HybridDictionary ডিফল্টভাবে থ্রেড-সেফ নয়। মাল্টি-থ্রেডেড এনভায়রনমেন্টে সিঙ্ক্রোনাইজেশন করতে SyncRoot প্রোপার্টি ব্যবহার করুন।