-1

我试图让我的循环在i等于loopEnd变量时停止。这是代码:

for (int i = loopStart; i < loopEnd; i++)

目前它在i大于时停止,但是如果我替换loopEnd为 程序将无法运行,如果我使用将无法运行。<===

4

5 回答 5

11

i,目前它会在等于时停止(因为 then小于)。如果您希望它仅在大于时停止,请改用:loopEndiloopEndiloopEnd<=

for (int i = loopStart; i <= loopEnd; i++)

请注意,如果loopEnd是这种方法会有问题int.MaxValue- 您将永远循环,因为当i增加时,它将int.MinValue再次小于loopEnd(除非您处于已检查的上下文中,在这种情况下将引发异常)。

这对您来说可能不是问题,但值得注意。

于 2013-01-14T15:26:26.377 回答
2
for (int i = loopStart; i <= loopEnd; i++)
                        //^ apply less or equal operator
于 2013-01-14T15:27:18.450 回答
1
for (int i = loopStart; i <= loopEnd; i++)

那是你要的吗?

于 2013-01-14T15:27:08.167 回答
0

使用i != loopEnd. 此条件指示何时进入循环,而不是何时停止进入

正如克里斯在他的评论中提到的那样,最好使用<=,因为您可能会i在体内增加并跳过loopEnd

于 2013-01-14T15:26:37.573 回答
0

在你的循环中使用 <=with 。loopEnd喜欢;

for (int i = loopStart; i <= loopEnd; i++)
于 2013-01-14T15:27:34.437 回答