Hashtable در سی شارپ
Hashtable یک کالکشن غیرجنریک است که مشابه کالکشن Dictionary جفت های کلید-مقدار را ذخیره می کند. Hashtable جستجوها را با محاسبه هش کد هر کلید بهینه می کند و آن را در یک bucket مختلف به صورت داخلی ذخیره می کند و سپس هش کد مربوط به کلید تعیین شده را در زمان دسترسی به مقادیر مطابقت می دهد.
خصوصیات و ویژگی های Hashtable
1- Hashtable جفت های کلید-مقدار را ذخیره می کند.
2- در فضای نام System.Collection قرار می گیرد.
3- Interface با نام IDictionary را پیاده سازی می کند.
4- کلیدها باید منحصر به فرد باشند و نمی توانند تهی باشند.
5- مقادیر می توانند تهی یا تکراری باشند.
6- به مقادیر می توان از طریق قرار دادن کلید مرتبط در indexer، به عنوان مثال myHashtable[key]، دسترسی داشت.
7- عناصر به عنوان اشیاء DictionaryEntry ذخیره می شوند.
ایجاد Hashtable
مثال زیر ایجاد یک Hashtable و افزودن عناصر را نشان می دهد.
خروجی قطعه کد بالا به صورت زیر می باشد.
مجموعه Hashtable می تواند شامل تمام عناصر Dictionary باشد، همانطور که در زیر نشان داده شده است.
خروجی قطعه کد بالا به صورت زیر می باشد.
به روز رسانی Hashtable
شما می توانید مقدار یک کلید موجود را از Hashtable با قرار دادن کلید در indexer بازیابی کنید. Hashtable یک مجموعه غیر عمومی است، بنابراین باید مقادیر cast را در حین بازیابی آن تایپ کنید.
خروجی قطعه کد بالا به صورت زیر می باشد.
حذف عناصر در Hashtable
متد ()Remove مقدار کلیدی را که با مقدار مشخص شده در Hashtable مطابقت دارد حذف می کند. اگر کلید مشخص شده در Hashtable پیدا نشود،KeyNotfoundException ایجاد می شود، بنابراین قبل از حذف، وجود کلید را با استفاده از متد ()ContainsKey بررسی کنید.
از متد ()Clear برای حذف تمام عناصر استفاده کنید.
خروجی قطعه کد بالا به صورت زیر می باشد.