Collectionsএবং Genericsবিভিন্ন গ্রুপ অবজেক্ট পরিচালনা করার জন্য দরকারী। .NET- এ, সমস্ত সংগ্রহের বিষয়বস্তু ইন্টারফেসের আওতায় আসে IEnumerable, যার পরিবর্তে ArrayList(Index-Value))& থাকে HashTable(Key-Value)। .NET Framework 2.0 পরে, ArrayList& HashTableসঙ্গে প্রতিস্থাপিত হয়েছে List& Dictionary। এখন, Arraylist& HashTableআজকালকার প্রকল্পগুলিতে আর ব্যবহার হয় না।
মধ্যে পার্থক্য আসছে HashTable& Dictionary, Dictionaryযেখানে যেমন জেনেরিক হয় Hastableজেনেরিক নয়। আমরা এতে কোনও ধরণের অবজেক্ট যুক্ত করতে পারি HashTable, তবে পুনরুদ্ধার করার সময় আমাদের এটি প্রয়োজনীয় প্রকারে ফেলে দিতে হবে। সুতরাং, এটি নিরাপদ নয়। তবে dictionary, নিজেকে ঘোষণার সময় আমরা কী এবং মানের ধরণ নির্দিষ্ট করতে পারি, সুতরাং পুনরুদ্ধার করার সময় কাস্ট করার দরকার নেই।
আসুন একটি উদাহরণ তাকান:
হ্যাশ টেবিল
class HashTableProgram
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add(1, "One");
ht.Add(2, "Two");
ht.Add(3, "Three");
foreach (DictionaryEntry de in ht)
{
int Key = (int)de.Key; //Casting
string value = de.Value.ToString(); //Casting
Console.WriteLine(Key + " " + value);
}
}
}
অভিধান,
class DictionaryProgram
{
static void Main(string[] args)
{
Dictionary<int, string> dt = new Dictionary<int, string>();
dt.Add(1, "One");
dt.Add(2, "Two");
dt.Add(3, "Three");
foreach (KeyValuePair<int, String> kv in dt)
{
Console.WriteLine(kv.Key + " " + kv.Value);
}
}
}