استفاده از IDictionaryEnumerator با HashTable

IDictionaryEnumerator

در این مقاله نشان می دهیم که چگونه یک Hash Table را با استفاده از IDictionaryEnumerator شمارشی کنیم. مراحل انجام این عملیات به صورت گام به گام به همراه کد های مربوط به آن برایتان در ادامه ی مطلب قرار داده شده است. امیدوارم از آن استفاده کنید. با من همراه باشید …

IDictionaryEnumerator

IDictionaryEnumerator آیتم های یک دیکشنری غیر جنریک مانند Hash Table را شمارش می کند. یک strong type می باشد که با اضافه کردن سه property از IEnumerator ارث بری می کند.

IDictionaryEnumerator

که Entry هر دوی کلید و مقدار ورودی دیکشنری جاری را به صورت یک Dictionary structدریافت می کند، Key کلید ورودی دیکشنری کنونی را دریافت کرده و Value مقدار ورودی دیکشنری را دریافت می کند.

یک Hash Table زوج مرتب های (کلید، مقدار) را ذخیره کرده و از کلید برای hash کردن و دسترسی به محل ذخیره استفاده می کند. در ادامه می بینیم که چگونه یک HashTable را با استفاده از IDictionaryEnumerator شمارشی می کنیم.

IDictionaryEnumerator

همانطور که در کد بالا مشاهده می کنید، از HashTable.GetEnumerator استفاده کردیم که حلقه ای روی HashTable اجرا می کند. از آنجا که enumerator درست قبل از آیتم اول در مجموعه قرار گرفته است، برای حرکت به سمت اولین عنصر مجموعه باید متد MoveNext را فراخوانی کنیم. زمانی که دیگر عنصری برای پیش روی در مجموعه نداشته باشیم، این متد مقدار false برمی گرداند. مقدار کنونی با استفاده از Entry، Key و value قابل دسترسی می باشد.

خروجی:

IDictionaryEnumerator

برای شمارشی کردن یک HashTable یا یک دیکشنری غیر جنریک با کلید-مقدار، از IDictionaryEnumerator به جای IEnumerator استفاده می کنیم که امکان دسترسی به هر دو فاکتور کلید و مقدار را به ما می دهد.

موفق باشید!

  • پسورد: www.mspsoft.com
داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    احسان پاسخ

    با تشکر از مطلبتون