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

C#-তে OrderedDictionary-র সব উপাদান সরাতে Clear() মেথড ব্যবহার

OrderedDictionary ক্লাস (namespace: System.Collections.Specialized) একটি কী-ভ্যালু সংগ্রহ যা ইনসারশন অর্ডার বজায় রাখে। এর Clear() মেথড সব কী-ভ্যালু জোড়া একসাথে সরিয়ে দেয় এবং Count শূন্য করে দেয়।

উদাহরণ ১: OrderedDictionary Clear()

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        OrderedDictionary dict = new OrderedDictionary();
        dict.Add("A", "বই");
        dict.Add("B", "ইলেকট্রনিক্স");
        dict.Add("C", "স্মার্ট ওয়েয়ারেবল");
        dict.Add("D", "পেট সাপ্লাই");
        dict.Add("E", "পোশাক");
        dict.Add("F", "ফুটওয়েয়ার");

        Console.WriteLine("OrderedDictionary উপাদানসমূহ...");
        foreach (DictionaryEntry d in dict) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        Console.WriteLine("OrderedDictionary-র উপাদান সংখ্যা = " + dict.Count);  // ৬

        // সব উপাদান সরানো
        dict.Clear();

        Console.WriteLine("OrderedDictionary-র উপাদান সংখ্যা (আপডেট) = " + dict.Count);  // ০
    }
}

আউটপুট

OrderedDictionary উপাদানসমূহ...
A বই
B ইলেকট্রনিক্স
C স্মার্ট ওয়েয়ারেবল
D পেট সাপ্লাই
E পোশাক
F ফুটওয়েয়ার
OrderedDictionary-র উপাদান সংখ্যা = 6
OrderedDictionary-র উপাদান সংখ্যা (আপডেট) = 0

উদাহরণ ২: ছোট OrderedDictionary Clear()

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
    public static void Main() {
        OrderedDictionary dict = new OrderedDictionary();
        dict.Add("1", "AB");
        dict.Add("2", "CD");

        Console.WriteLine("OrderedDictionary উপাদানসমূহ...");
        foreach (DictionaryEntry d in dict) {
            Console.WriteLine(d.Key + " " + d.Value);
        }

        Console.WriteLine("OrderedDictionary-র উপাদান সংখ্যা = " + dict.Count);  // ২

        dict.Clear();

        Console.WriteLine("OrderedDictionary-র উপাদান সংখ্যা (আপডেট) = " + dict.Count);  // ০
    }
}

আউটপুট

OrderedDictionary উপাদানসমূহ...
1 AB
2 CD
OrderedDictionary-র উপাদান সংখ্যা = 2
OrderedDictionary-র উপাদান সংখ্যা (আপডেট) = 0

OrderedDictionary-এর বৈশিষ্ট্য

  • ইনসারশন অর্ডার: কী-ভ্যালু জোড়া যোগ করার ক্রম বজায় রাখে।
  • ইন্ডেক্স অ্যাক্সেস: dict[index] দিয়ে ইনডেক্স দিয়ে অ্যাক্সেস করা যায় (Dictionary-এ নেই)।
  • কী অ্যাক্সেস: dict["key"] দিয়ে কী দিয়ে অ্যাক্সেস করা যায়।
  • নন-জেনেরিক: object কী এবং ভ্যালু সংরক্ষণ করে (বক্সিং/আনবক্সিং)।

OrderedDictionary-এর প্রধান মেথড/প্রোপার্টি

মেম্বারবিবরণ
Add(key, value)কী-ভ্যালু জোড়া যোগ করে
Remove(key)নির্দিষ্ট কী 위치한 এন্ট্রি সরায়
RemoveAt(index)নির্দিষ্ট ইনডেক্স 위치한 এন্ট্রি সরায়
Clear()সব এন্ট্রি সরায় (এই আর্টিকেলের বিষয়)
[key]কী দিয়ে ভ্যালু গেট/সেট
[index]ইন্ডেক্স দিয়ে ভ্যালু গেট/সেট
Keysসব কীর ICollection
Valuesসব ভ্যালুর ICollection
AsReadOnly()রিড-অনলি র‍্যাপার রিটার্ন করে

আধুনিক বিকল্প

// System.Collections.Generic - টাইপ সেফ, অর্ডার্ড ডিকশনারি (NET Core 3.0+ / .NET 5+)
using System.Collections.Generic;

// অর্ডার্ড ডিকশনারি নেই BCL-এ, 써드-পার্টি বা কাস্টম বাস্তবায়ন দরকার
// বিকল্প: List> বা SortedDictionary (সর্টেড অর্ডার)
// অথবা Dictionary + আলাদা লিস্ট ইনসারশন অর্ডার ট্র্যাক করার জন্য

নোট: OrderedDictionary লিগ্যাসি নন-জেনেরিক ক্লাস। নতুন প্রজেক্টে জেনেরিক বিকল্প খুঁজুন বা Dictionary<TKey, TValue> + অর্ডার মেইনটেন করার জন্য আলাদা লিস্ট ব্যবহার করুন।

  1. জাভাস্ক্রিপ্টে কিউ (Queue) থেকে ডিকিউ (Dequeue) অপারেশন

  2. C#-এ লিস্ট থেকে ডুপ্লিকেট এলিমেন্ট সরানো

  3. C# অ্যারে থেকে এলিমেন্ট ডিলিট/রিমুভ কীভাবে করবেন?

  4. জাভাতে ArrayList-এ থেকে সব এলিমেন্ট রিমূভ করা