StringDictionary ক্লাস (System.Collections.Specialized) একটি স্ট্রিং-টু-স্ট্রিং ডিকশনারি যা কী এবং মান দুটোই স্ট্রিং। এটি কীগুলোর কেস-ইনসেনসিটিভ (case-insensitive) তুলনা করে (অভ্যন্তরীণভাবে লোয়ারকেসে সংরক্ষণ করে)। এটি IDictionary বাস্তবায়ন করে। আধুনিক C#-এ Dictionary<string, string> (কেস-সেনসিটিভ) বা Dictionary<string, string> با `StringComparer.OrdinalIgnoreCase` ব্যবহার করা পছন্দনীয়।
উদাহরণ ১: বেসিক StringDictionary তৈরি এবং এনামারেশন
using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary strDict = new StringDictionary();
strDict.Add("A", "John");
strDict.Add("B", "Andy");
strDict.Add("C", "Tim");
strDict.Add("D", "Ryan");
strDict.Add("E", "Kevin");
strDict.Add("F", "Katie");
strDict.Add("G", "Brad");
Console.WriteLine("StringDictionary উপাদানসমূহ...");
foreach(DictionaryEntry de in strDict) {
Console.WriteLine(de.Key + " " + de.Value);
}
}
}
আউটপুট
StringDictionary উপাদানসমূহ... a John b Andy c Tim d Ryan e Kevin f Katie g Brad
উদাহরণ ২: ইনডেক্সার ব্যবহার করে মান পাওয়া
using System;
using System.Collections.Specialized;
public class Demo {
public static void Main() {
StringDictionary myDict = new StringDictionary();
myDict.Add("1", "Tablet");
myDict.Add("2", "Desktop");
myDict.Add("3", "Speakers");
myDict.Add("4", "Laptop");
myDict.Add("5", "Notebook");
myDict.Add("6", "Ultrabook");
myDict.Add("7", "HDD");
myDict.Add("8", "SDD");
myDict.Add("9", "Headphone");
myDict.Add("10", "Earphone");
Console.WriteLine("কী ৫-এর মান = " + myDict["5"]);
}
}
আউটপুট
কী ৫-এর মান = Notebook
দ্রষ্টব্য: StringDictionary কীগুলো লোয়ারকেসে সংরক্ষণ করে (আউটপুটে 'a', 'b', 'c'...)। ডুপ্লিকেট কী (কেস ভিন্ন হলে) যোগ করলে ArgumentException হবে। এটি লিগেসি ক্লাস; নতুন কোডে Dictionary<string, string> সাথে StringComparer.OrdinalIgnoreCase ব্যবহার করুন।