在我使用的脚本中,我遇到了这个循环:
$Loop = @()
$loopCount = 100
for($i=1;$i -le $loopCount;$i++)
{
#statements
}
我无法弄清楚第一行的目的是什么$Loop = @()
$ Loop在循环或脚本中的任何其他地方都没有提到。
我知道该语句的作用,我也了解PowerShell命名约定以及数组的工作原理。但是,它在循环本身的脚本中是否有实际用途?或者只是旧的代码没有删除?
我的问题与这是否是PowerShell硬编码变量严格相关,类似于$true
或$false
。
答案 0 :(得分:6)
@()
表示一个空数组。
$Loop = @()
表示将一个空数组分配给名为$Loop
的变量。
如果未使用$Loop
,是的,它可能是您正在处理的旧代码。
答案 1 :(得分:2)
正如Neolisk所解释的那样,命名变量'loop'并没有特别的意义,$loop = @()
对你发布的代码没有太大作用,因为$loop
在那里不再使用。
在其他情况下,创建空数组变量非常有用。例如,这会返回hihowdy
:
$loopy = "hi"
$loopy += "howdy"
$loopy
并返回一个包含元素hi
和howdy
的数组:
$loopy = @()
$loopy += "hi"
$loopy += "howdy"
$loopy
...这会更有效地使用内存:
[System.Collections.ArrayList]$loopy = "hi"
$loopy.Add("hi")
$loopy.Add("howdy")
$loopy