برنامه نویسان PowerShell عموماً Hashtable را به دیکشنری ترجیح می دهند ، اگرچه استفاده از Dictionary مزایایی دارد. تفاوت را در زیر ببینید.
آ. اعلام Hashtable آسان است در حالی که دیکشنری در مقایسه با Hashtable کمی پیچیده است. مثلا،
برای ایجاد هش،
$hash = @{ 'Country' = 'India' 'Code' = '91' }
برای ایجاد دیکشنری،
$citydata = New-Object System.Collections.Generic.Dictionary"[String,Int]" $citydata.Add('India',91)
ب Hashtable در فضای نامی به نام Collections و Dictionary در فضای نامی به نام System.Collections.Generic فضای نام گنجانده شده است. Hashtable غیر عمومی است بنابراین می تواند مجموعه ای از انواع داده های مختلف باشد و Dictionary متعلق به یک کلاس عمومی است بنابراین مجموعه ای از انواع داده های خاص است.
ج. Hashtable و Dictionary هر دو دارای BaseType is Object هستند اما نوع داده آنها متفاوت است. Hashtable دارای یک نوع داده « Hashtable » و دیکشنری دارای نوع داده Dictionary»2 است .
قابل هشتم:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Hashtable System.Object
فرهنگ لغت:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Dictionary`2 System.Object