কম্পিউটার টিউটোরিয়াল

C#-তে HybridDictionary শুধুমাত্র পঠনযোগ্য (read-only) কিনা যাচাই করা

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

গুরুত্বপূর্ণ প্রোপার্টিগুলোর অর্থ

প্রোপার্টিবিবরণ
IsReadOnlytrue হলে ডিকশনারি মডিফাই করা যায় না। HybridDictionary এর জন্য এটি সবসময় false রিটার্ন করে।
IsFixedSizetrue হলে ডিকশনারির আকার পরিবর্তন করা যায় না। HybridDictionary এর জন্য এটি সবসময় false।
IsSynchronizedtrue হলে ডিকশনারি থ্রেড-সেফ। HybridDictionary এর জন্য এটি সবসময় false।

নোট: HybridDictionary ডিফল্টভাবে থ্রেড-সেফ নয়। মাল্টি-থ্রেডেড এনভায়রনমেন্টে সিঙ্ক্রোনাইজেশন করতে SyncRoot প্রোপার্টি ব্যবহার করুন।

  1. C#-এ Hashtable-র ফিক্সড সাইজ কিনা তা যাচাই করুন

  2. C#-এ Collection-এ উপাদান রয়েছে কিনা তা যাচাই করুন

  3. C#-এ HashSet-তে নির্দিষ্ট উপাদান রয়েছে কিনা তা যাচাই করুন

  4. C#-এ লিস্ট খালি কিনা চেক করা