Dictionary در سی شارپ
در سی شارپ، دیکشنری یک مجموعه generic است که معمولاً برای ذخیره جفتهای Key/Value استفاده میشود. دیکشنری تحت فضای نام System.Collection.Generics تعریف شده است و ماهیت آن پویا است به این معنی که اندازه Dictionary بر اساس نیاز رشد می کند.
برای آشنایی بیشتر با دیکشنری ها می توانید مقاله Dictionary در سی شارپ را مطالعه فرمایید.
Hashtable در سی شارپ
Hashtable مجموعهای از جفتهای Key/Value است که بر اساس کد هش کلید مرتب شدهاند. یا به عبارت دیگر از Hashtable برای ایجاد مجموعه ای استفاده می شود که از جدول هش برای ذخیره سازی استفاده می کند. این نوع مجموعه non-generic است که در فضای نام System.Collections تعریف شده است. در Hashtable، اشیاء کلید تا زمانی که به عنوان کلید در Hashtable استفاده می شوند، باید تغییر ناپذیر باشند.
برای آشنایی بیشتر با Hashtable ها می توانید مقاله Hashtable در سی شارپ را مطالعه فرمایید.
تفاوت Dictionary و Hashtable در سی شارپ
همان طور که در بالا گفته شد Hashtable و Dictionary هر دو عناصر را به عنوان جفت Key/Value ذخیره می کنند ولی تفاوت های با هم دارند.از تفاوت های Hashtable و Dictionary در سی شارپ می توان به موارد زیر اشاره کرد:
Dictionary | Hashtable |
---|---|
دیکشنری یک مجموعه generic است. | Hashtable یک مجموعه non-generic است. |
دیکشنری در فضای نام System.Collections.Generic تعریف شده است. | Hashtable در فضای نام System.Collections تعریف شده است. |
در دیکشنری، میتوانید جفتهای Key/Value را فقط از یک نوع ذخیره کنید. | در Hashtable، میتوانید جفتهای Key/Value از یک نوع یا از نوع های متفاوت را ذخیره کنید. |
در Dictionary باید نوع کلید و مقدار را مشخص کنید. | در Hashtable نیازی به تعیین نوع کلید و مقدار نیست. |
بازیابی اطلاعات سریعتر از Hashtable است. | بازیابی اطلاعات کندتر از دیکشنری است. |
در دیکشنری، اگر سعی کنید به کلیدی دسترسی پیدا کنید که در دیکشنری داده شده وجود ندارد، خطا می دهد. | در Hashtable، اگر سعی کنید به کلیدی دسترسی پیدا کنید که در Hashtable داده شده وجود ندارد، مقادیر null به شما می دهد. |
فقط برای اعضای استاتیک عمومی thread safe است. | thread safe است. |
همیشه ترتیب مقادیر ذخیره شده را حفظ می کند. | ترتیب مقادیر ذخیره شده را حفظ نمی کند. |
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید