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);
}
}
}