在PowerShell中,Dictionary和HashTable有什么区别?
PowerShell的程序员通常喜欢哈希表在字典虽然有使用字典的一些优点。请参见下面的区别。
一种。与Hashtable相比,Hashtable易于声明,而Dictionary则有些复杂。例如,
要创建哈希表,
$hash = @{ 'Country' = 'India' 'Code' = '91' }
要创建字典,
$citydata = New-Object System.Collections.Generic.Dictionary"[String,Int]" $citydata.Add('India',91)
b。Hashtable包含在名为Collections的命名空间中,而Dictionary包含在名为System.Collections.Generic命名空间的命名空间中。哈希表是非泛型的,因此它可以是不同数据类型的集合,而Dictionary属于泛型类,因此它是特定数据类型的集合。
C。Hashtable和Dictionary的BaseType为Object,但是它们的数据类型不同。Hashtable具有'Hashtable'数据类型,Dictionary具有Dictionary`2数据类型。
哈希表:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Hashtable System.Object
字典:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Dictionary`2 System.Object