در این مقاله نشان می دهیم که چگونه یک Hash Table را با استفاده از IDictionaryEnumerator شمارشی کنیم. مراحل انجام این عملیات به صورت گام به گام به همراه کد های مربوط به آن برایتان در ادامه ی مطلب قرار داده شده است. امیدوارم از آن استفاده کنید. با من همراه باشید …
IDictionaryEnumerator
IDictionaryEnumerator آیتم های یک دیکشنری غیر جنریک مانند Hash Table را شمارش می کند. یک strong type می باشد که با اضافه کردن سه property از IEnumerator ارث بری می کند.
که Entry هر دوی کلید و مقدار ورودی دیکشنری جاری را به صورت یک Dictionary structدریافت می کند، Key کلید ورودی دیکشنری کنونی را دریافت کرده و Value مقدار ورودی دیکشنری را دریافت می کند.
یک Hash Table زوج مرتب های (کلید، مقدار) را ذخیره کرده و از کلید برای hash کردن و دسترسی به محل ذخیره استفاده می کند. در ادامه می بینیم که چگونه یک HashTable را با استفاده از IDictionaryEnumerator شمارشی می کنیم.
همانطور که در کد بالا مشاهده می کنید، از HashTable.GetEnumerator استفاده کردیم که حلقه ای روی HashTable اجرا می کند. از آنجا که enumerator درست قبل از آیتم اول در مجموعه قرار گرفته است، برای حرکت به سمت اولین عنصر مجموعه باید متد MoveNext را فراخوانی کنیم. زمانی که دیگر عنصری برای پیش روی در مجموعه نداشته باشیم، این متد مقدار false برمی گرداند. مقدار کنونی با استفاده از Entry، Key و value قابل دسترسی می باشد.
خروجی:
برای شمارشی کردن یک HashTable یا یک دیکشنری غیر جنریک با کلید-مقدار، از IDictionaryEnumerator به جای IEnumerator استفاده می کنیم که امکان دسترسی به هر دو فاکتور کلید و مقدار را به ما می دهد.
موفق باشید!
با تشکر از مطلبتون
لایک