向哈希表添加元素失败

时间:2016-02-06 02:25:54

标签: powershell hashtable element

PS C:\Users\Hind> $b=@{}
PS C:\Users\Hind> $b+={k="a";v="b"}
A hash table can only be added to another hash table.
At line:1 char:1
+ $b+={k="a";v="b"}
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : AddHashTableToNonHashTable

为什么会失败?如何成功将一个元素添加到哈希表?

2 个答案:

答案 0 :(得分:4)

更正,由于您错过了@

前面的@{k="a";b="b"}字符,因此失败
PS C:\Users\Hind> $b=@{}
PS C:\Users\Hind> $b+=@{k="a";v="b"}

@{}声明了一个新的哈希表。 {}是一个脚本块。他们不一样。

答案 1 :(得分:2)

初始化散列表应该使用圆括号而不是大括号

$b=@()
$b+=@{k="a";v="b"}