【发布时间】:2020-05-14 16:01:09
【问题描述】:
在这段代码中
for (int i = 0; i < 1 / timeScale; i++)
{
......
}
在执行此循环期间,变量 timescale 有可能变为零。 如何防止循环评估 1/timeScale 并出现 1/0 时出现的错误?
【问题讨论】:
-
0 时你希望做什么?如果你想停止,你可以先检查那个条件。
-
保持循环无限运行直到它不再为零
-
我认为
for是错误的循环,无论你在做什么。for用于在进入循环之前知道它的执行频率的情况。既然你说timeScale可以变成 0,那么你确实不知道你必须多久循环一次。也许尝试一段时间。例如while(timeScale != 0) -
我需要将其与 i 进行比较,而 (i
-
如果您想在
timeScale为0时保持运行,请将检查更改为timeScale == 0 || i < 1 / timeScale如果您想停止迭代,则将其设置为timeScale != 0 && i < 1 / timeScale表示很难给出好的结果在无法看到for循环中实际发生的情况的情况下提出建议。
标签: c# loops for-loop logic division