[parametertype []] $参数是什么意思?

时间:2015-02-09 14:15:00

标签: powershell

我见过使用语法param([parametertype[]]$Parameter)param([parametertype]$Parameter)定义的PowerShell函数参数。

就个人而言,我总是使用后者(据我所知)没有问题。任何人都能解释一下(如果有的话)差异以及为什么两者都被允许和工作?

2 个答案:

答案 0 :(得分:0)

[parametertype[]]$Parameterparametertype

$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)

在PowerShell中,你不必定义你正在使用的参数,但你可以。 例如,如果您想将参数定义为[必需],有时它可以很方便。 在您的示例中,您可以定义数组类型param[]和单一类型。 您可以阅读有关Defining Parameters的更多信息。