如何设置数组的默认参数

时间:2017-06-25 20:43:07

标签: arrays powershell

我试图让我的脚本将一个数组设置为脚本的默认值,如果该值没有作为我的脚本的参数给出并且似乎有一些问题让Powershell明白它是一个数组。

我设置了params:

param (
    [string]$games = @('Subnautica', 'Gearcity')
)

问题似乎是$games现在获得字符串" Subnautica Gearcity"的价值。至少那是变量的输出。逗号似乎消失了,因此在尝试使用foreach ( $game in $games ) { random jabber }遍历它时数组也是如此。

2 个答案:

答案 0 :(得分:11)

发生这种情况的原因是您已指定参数$games是一个字符串,您想要的是一个字符串数组:string[]所以您的代码变为:

param (
    [string[]]$games = @('Subnautica', 'Gearcity')
)

答案 1 :(得分:6)

这一位:[string]$games强制你的变量成为一个字符串。要使它成为一个字符串数组,您需要将[]添加到变量类型声明。

[string[]]$games = @('Subnautica', 'Gearcity')