$ Loop = @()是什么意思

时间:2013-12-12 19:34:57

标签: powershell for-loop

在我使用的脚本中,我遇到了这个循环:

$Loop = @()
$loopCount = 100
for($i=1;$i -le $loopCount;$i++)
{
    #statements
}

我无法弄清楚第一行的目的是什么$Loop = @() $ Loop在循环或脚本中的任何其他地方都没有提到。

我知道该语句的作用,我也了解PowerShell命名约定以及数组的工作原理。但是,它在循环本身的脚本中是否有实际用途?或者只是旧的代码没有删除?

我的问题与这是否是PowerShell硬编码变量严格相关,类似于$true$false

2 个答案:

答案 0 :(得分:6)

@()表示一个空数组。

$Loop = @()表示将一个空数组分配给名为$Loop的变量。

如果未使用$Loop,是的,它可能是您正在处理的旧代码。

答案 1 :(得分:2)

正如Neolisk所解释的那样,命名变量'loop'并没有特别的意义,$loop = @()对你发布的代码没有太大作用,因为$loop在那里不再使用。

在其他情况下,创建空数组变量非常有用。例如,这会返回hihowdy

$loopy = "hi"
$loopy += "howdy"
$loopy

并返回一个包含元素hihowdy的数组:

$loopy = @()
$loopy += "hi"
$loopy += "howdy"
$loopy

...这会更有效地使用内存:

[System.Collections.ArrayList]$loopy = "hi"
$loopy.Add("hi")
$loopy.Add("howdy")
$loopy