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> + অর্ডার মেইনটেন করার জন্য আলাদা লিস্ট ব্যবহার করুন।