কম্পিউটার

C# এ হাইব্রিড ডিকশনারি ক্লাস?


হাইব্রিডডিকশনারি ক্লাস আইডিকশনারি প্রয়োগ করে একটি ListDictionary ব্যবহার করে যখন সংগ্রহটি ছোট হয়, এবং তারপর সংগ্রহটি বড় হয়ে গেলে একটি হ্যাশটেবলে স্যুইচ করে।

হাইব্রিড ডিকশনারি ক্লাস -

এর বৈশিষ্ট্যগুলি নিম্নরূপ
Sr. No সম্পত্তি এবং বর্ণনা
1 গণনা
হাইব্রিড ডিকশনারিতে থাকা কী/মান জোড়ার সংখ্যা পায়।
2 IsFixedSize
হাইব্রিড অভিধানের একটি নির্দিষ্ট আকার আছে কিনা তা নির্দেশ করে একটি মান পায়।
3 ইজঅনলি
হাইব্রিড ডিকশনারি শুধুমাত্র পঠনযোগ্য কিনা তা নির্দেশ করে একটি মান পায়।
4 সিঙ্ক্রোনাইজ করা হয়েছে
হাইব্রিড ডিকশনারি সিঙ্ক্রোনাইজ করা হয়েছে কিনা তা নির্দেশ করে একটি মান পায় (থ্রেড নিরাপদ)।
5 আইটেম[অবজেক্ট]
নির্দিষ্ট কী এর সাথে যুক্ত মান পায় বা সেট করে।
6 কী
হাইব্রিড ডিকশনারিতে কী সমন্বিত একটি IC Collection পায়।
7 SyncRoot
হাইব্রিড ডিকশনারিতে অ্যাক্সেস সিঙ্ক্রোনাইজ করতে ব্যবহার করা যেতে পারে এমন একটি বস্তু পায়।
8 মানগুলি
হাইব্রিড ডিকশনারির মান সম্বলিত একটি IC Collection পায়।

হাইব্রিড ডিকশনারি ক্লাস -

এর কিছু পদ্ধতি নিচে দেওয়া হল
Sr.No পদ্ধতি এবং বর্ণনা
1 যোগ করুন(অবজেক্ট, অবজেক্ট)
হাইব্রিড ডিকশনারিতে নির্দিষ্ট কী এবং মান সহ একটি এন্ট্রি যোগ করে।
2 ক্লিয়ার()
হাইব্রিড ডিকশনারি থেকে সমস্ত এন্ট্রি সরিয়ে দেয়।
3 ধারণ করে(বস্তু)
হাইব্রিড ডিকশনারিতে একটি নির্দিষ্ট কী রয়েছে কিনা তা নির্ধারণ করে
4 CopyTo(Array, Int32)
হাইব্রিড ডিকশনারি এন্ট্রিগুলিকে নির্দিষ্ট সূচকে একটি একমাত্রিক অ্যারে উদাহরণে অনুলিপি করে।
5 সমান (বস্তু)
নির্দিষ্ট বস্তুটি বর্তমান বস্তুর সমান কিনা তা নির্ধারণ করে। (অবজেক্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত)
6 GetEnumerator()
একটি IDictionaryEnumerator প্রদান করে যা হাইব্রিড অভিধানের মাধ্যমে পুনরাবৃত্তি করে।
7 GetHashCode()
ডিফল্ট হ্যাশ ফাংশন হিসাবে কাজ করে। (অবজেক্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত)
8 GetType()
বর্তমান উদাহরণের ধরন পায়। (অবজেক্ট থেকে উত্তরাধিকারসূত্রে প্রাপ্ত)

হাইব্রিড ডিকশনারিতে কী/মান জোড়ার সংখ্যা গণনা করতে, কোডটি নিম্নরূপ -

উদাহরণ

আসুন এখন কিছু উদাহরণ দেখি -

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary dict1 = new HybridDictionary();
      dict1.Add("A", "SUV");
      dict1.Add("B", "MUV");
      dict1.Add("C", "AUV");
      Console.WriteLine("HybridDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of Key/value pairs in Dictionary1 = "+dict1.Count);
      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("Count of Key/value pairs in Dictionary2 = "+dict1.Count);
      dict2.Clear();
      Console.WriteLine("Count of Key/value pairs in Dictionary2 (Updated) = "+dict2.Count);
   }
}

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
HybridDictionary1 elements...
A SUV
B MUV
C AUV
Count of Key/value pairs in Dictionary1 = 3
HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Count of Key/value pairs in Dictionary2 = 3
Count of Key/value pairs in Dictionary2 (Updated) = 0

HybridDictionary সিঙ্ক্রোনাইজ করা হয়েছে কিনা তা পরীক্ষা করতে, কোডটি নিম্নরূপ −

উদাহরণ

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);
   }
}

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
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

  1. C# এ কনসোল ক্লাস

  2. থ্রেড ক্লাসের বৈশিষ্ট্য

  3. C# এ ক্লাস

  4. C# এ ব্যাকগ্রাউন্ড ওয়ার্কার ক্লাস