我见过使用语法param([parametertype[]]$Parameter)
和param([parametertype]$Parameter)
定义的PowerShell函数参数。
就个人而言,我总是使用后者(据我所知)没有问题。任何人都能解释一下(如果有的话)差异以及为什么两者都被允许和工作?
答案 0 :(得分:0)
[parametertype[]]$Parameter
是parametertype
$Parameter
数组
[parametertype]$Parameter
是$Parameter
parametertype
即
> [string]$param_s = "parameter"
> [string[]]$param_a = "parameter", "param2", "param3"
> $param_s[1]
a
> $param_a[1]
param2
注意param_s
是一个普通字符串,并且在访问索引[1]
时访问字符串中的第二个位置与param_a[1]
在函数/ cmdlet定义中由param
关键字使用时,它只是确保函数将传递正确的数据类型
答案 1 :(得分:0)
param[]
和单一类型。
您可以阅读有关Defining Parameters的更多信息。