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

C#-তে SortedList-এর জন্য সিঙ্ক্রোনাইজড র‍্যাপার তৈরি করা

SortedList.Synchronized() স্ট্যাটিক মেথড ব্যবহার করে একটি থ্রেড-সেফ (thread-safe) র‍্যাপার তৈরি করা যায়। এই র‍্যাপারের IsSynchronized প্রপার্টি true রিটার্ন করে। মাল্টি-থ্রেডেড পরিবেশে SortedList ব্যবহার করার সময় এটি সহায়ক।

উদাহরণ ১: সিঙ্ক্রোনাইজড র‍্যাপার তৈরি এবং যাচাই

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        SortedList sortedList = new SortedList();
        sortedList.Add("1", "Tom");
        sortedList.Add("2", "Ryan");
        sortedList.Add("3", "Nathan");
        
        Console.WriteLine("SortedList উপাদানসমূহ...");
        foreach(DictionaryEntry d in sortedList) {
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }
        
        SortedList sortedList2 = SortedList.Synchronized(sortedList);
        Console.WriteLine("SortedList সিঙ্ক্রোনাইজড কি? = " + sortedList2.IsSynchronized);
    }
}

আউটপুট

SortedList উপাদানসমূহ...
Key = 1, Value = Tom
Key = 2, Value = Ryan
Key = 3, Value = Nathan
SortedList সিঙ্ক্রোনাইজড কি? = True

উদাহরণ ২: অসিঙ্ক্রোনাইজড SortedList

using System;
using System.Collections;

public class Demo {
    public static void Main() {
        SortedList sortedList = new SortedList();
        sortedList.Add("1", "AB");
        sortedList.Add("2", "CD");
        sortedList.Add("3", "EF");
        sortedList.Add("4", "GH");
        sortedList.Add("5", "IJ");
        sortedList.Add("6", "KL");
        
        Console.WriteLine("SortedList উপাদানসমূহ...");
        foreach(DictionaryEntry d in sortedList) {
            Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);
        }
        
        Console.WriteLine("SortedList সিঙ্ক্রোনাইজড কি? = " + sortedList.IsSynchronized);
    }
}

আউটপুট

SortedList উপাদানসমূহ...
Key = 1, Value = AB
Key = 2, Value = CD
Key = 3, Value = EF
Key = 4, Value = GH
Key = 5, Value = IJ
Key = 6, Value = KL
SortedList সিঙ্ক্রোনাইজড কি? = False

দ্রষ্টব্য: আধুনিক C#-এ ConcurrentDictionary বা ImmutableSortedDictionary ব্যবহার করা আরও পছন্দনীয়, কারণ সিঙ্ক্রোনাইজড র‍্যাপারের পারফরম্যান্স ওভারহেড বেশি।

  1. C#-তে ArrayList-র জন্য শুধুমাত্র পঠনযোগ্য (Read-Only) র‍্যাপার তৈরি করা

  2. C#-এ SortedList অবজেক্টের ফিক্সড আকার আছে কিনা যাচাই করুন

  3. C#-এ SortedList-এ নির্দিষ্ট মান আছে কিনা যাচাই করা (ContainsValue)

  4. AI এবং কাজের ভবিষ্যত: শুধু প্রতিস্থাপন নয়, চাকরির সৃষ্টিও