2012-11-01 13 views
-4

如何創建一個由變量命名的空數組,只能通過變量名稱來引用它?如何創建一個由變量命名的空數組,並僅通過變量名稱引用它來使用它?

例如陣列命名

$empty = @() 

$empty -is [array] 
True 

對:

$arrayname='empty' 
${$arrayname}[email protected]() 

$empty -is [array] 
False 

AND

$empty+='hello' 

${$arrayname}+='hello' 
+1

我很難理解你的問題 - 你能詳細說明一下嗎? – dugas

+0

我也是。!你最終的目標是什麼? –

+0

我的最終目標是能夠自動創建和修改陣列。我將有更新數組的功能,所以我不必重複相似的代碼,例如添加,但我會運行函數x arrayname add melon –

回答

0

也許你想這樣的:

$arrayname='empty' 

$empty -is [array] 
False 

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

$empty -is [array] 
True 
+0

是的,就這麼簡單。謝謝。 –

+0

@SandyRulez更難解釋比做:) –

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} 

數據結構可以進行優化,以更好地滿足您的要求。

相關問題