如何创建一个由变量命名的空数组,并仅通过变量名称引用它来使用它?

时间:2012-11-01 21:52:19

标签: arrays variables powershell powershell-v2.0 named

如何创建一个由变量命名的空数组,只能通过变量名称引用它来使用它?

e.g。名为

的数组
$empty = @()

$empty -is [array]
True

$arrayname='empty'
${$arrayname}=@()

$empty -is [array]
False

$empty+='hello'

${$arrayname}+='hello'

2 个答案:

答案 0 :(得分:0)

也许你想要这个:

$arrayname='empty'

$empty -is [array]
False

Invoke-Expression  "`$$arrayname = @()"

$empty -is [array]
True

答案 1 :(得分:0)

我宁愿使用PSObject

$empty = New-Object PSObject -property @{
    ArrayName = "String"
    ArrayValue = @()
} 
$empty.pstypenames.Insert(0,"SuperArray")
// Here you add the generic function to manipulate your array
$empty | Add-Member ScriptProperty Add {$this.ArrayValue} { $this.ArrayValue = $args}

可以优化数据结构以更好地满足您的要求。