如何创建一个以变量命名的空数组并仅通过变量名引用它来使用它?
例如名为空的数组
$empty = @()
$empty -is [array]
True
相对:
$arrayname='empty'
${$arrayname}=@()
$empty -is [array]
False
和
$empty+='hello'
相对
${$arrayname}+='hello'
如何创建一个以变量命名的空数组并仅通过变量名引用它来使用它?
例如名为空的数组
$empty = @()
$empty -is [array]
True
相对:
$arrayname='empty'
${$arrayname}=@()
$empty -is [array]
False
和
$empty+='hello'
相对
${$arrayname}+='hello'
也许你想要这个:
$arrayname='empty'
$empty -is [array]
False
Invoke-Expression "`$$arrayname = @()"
$empty -is [array]
True
我宁愿使用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}
可以优化数据结构以更好地满足您的要求。