为什么在PowerShell中:for($ i = 0; -le $ total-1; $ i ++)而不是for($ i = 0; -lt $ total; $ i ++)

时间:2011-05-24 15:58:07

标签: powershell

我正在查看powershellpro.com上的一些代码示例,并且不明白他为什么编写通过数组循环的示例代码:

...从0开始增量,然后增加1,直到它小于或等于数组的长度减去1 ...

for ($i=0; $i -le $total-1; $i++)

...而不是将增量从零开始然后再增加1直到它小于数组的长度......

for ($i=0; $i -lt $total; $i++)

我错过了什么吗?它们在功能上是等效的,并且将循环遍历数组中的每个项目。我个人认为第二个版本更清洁。是否有最佳实践或某些事情表明你应该使用第一个?

3 个答案:

答案 0 :(得分:8)

>>我错过了什么吗?

>>是否有最好的做法或者说你应该使用第一个?
在PowerShell中使用'for'循环与任何其他语言一样。只取决于程序员的态度,他使用哪种风格。

答案 1 :(得分:4)

两者在功能上都是等价的,但代码越简洁,就越容易为某些人阅读。另外,我认为原始海报的问题存在语法问题。 (如果我错了,请纠正我。)我提到这不是批评,而只是因为新手读到这个并且感到困惑。许多人可能会认为这是有问题的代码段的最佳版本:

for($i = 0; $i -lt $total; $i++){
  #do something
}

在-lt。

之前注意条件段中的$ i

答案 2 :(得分:1)

绝对没有区别。这只是品味问题。当 $i=$total-1时,第一个片段将停止循环。第二个之前 $i=$total。它完全一样。

IMHO