在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

猜你喜欢