我已經看到使用語法param([parametertype[]]$Parameter)
以及param([parametertype]$Parameter)
定義的PowerShell函數參數。
就我個人而言,我一直使用後者(據我所知)沒有問題。任何人都可以解釋什麼(如果有的話)是什麼區別以及爲什麼兩者都允許和工作?
我已經看到使用語法param([parametertype[]]$Parameter)
以及param([parametertype]$Parameter)
定義的PowerShell函數參數。
就我個人而言,我一直使用後者(據我所知)沒有問題。任何人都可以解釋什麼(如果有的話)是什麼區別以及爲什麼兩者都允許和工作?
[parametertype[]]$Parameter
是$Parameter
[parametertype]$Parameter
一個parametertype
陣列是parametertype
即
> [string]$param_s = "parameter"
> [string[]]$param_a = "parameter", "param2", "param3"
> $param_s[1]
a
> $param_a[1]
param2
注意如何param_s
是純字符串,並訪問該串中的第二位置的$Parameter
當訪問索引[1]
比較紅到什麼是由param_a[1]
返回當在函數/ cmdlet的定義param
關鍵字使用,它只是確保該函數將在PowerShell中傳遞正確的數據類型
你沒有定義什麼參數你正在使用,但你可以。 例如,如果您想將參數定義爲[強制],有時它可能會很方便。 在你的例子中,你定義了一個數組類型param[]
和單一類型。 你可以閱讀更多關於Defining Parameters。
午餐時間的學習令人滿意。謝謝 – ConanW 2015-02-09 14:39:20