2015-02-09 125 views
0

我已經看到使用語法param([parametertype[]]$Parameter)以及param([parametertype]$Parameter)定義的PowerShell函數參數。

就我個人而言,我一直使用後者(據我所知)沒有問題。任何人都可以解釋什麼(如果有的話)是什麼區別以及爲什麼兩者都允許和工作?

回答

0

[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中傳遞正確的數據類型

+0

午餐時間的學習令人滿意。謝謝 – ConanW 2015-02-09 14:39:20

0

你沒有定義什麼參數你正在使用,但你可以。 例如,如果您想將參數定義爲[強制],有時它可能會很方便。 在你的例子中,你定義了一個數組類型param[]和單一類型。 你可以閱讀更多關於Defining Parameters