首页 > 解决方案 > 如何防止在 for 循环评估中除以零?

问题描述

在这段代码中

for (int i = 0; i < 1 / timeScale; i++)
 {
       ......
 }

在此循环执行期间,变量 timescale 有可能变为零。如何防止循环评估 1/timeScale 并出现 1/0 时出现的错误?

标签: c#loopsfor-looplogicdivision

解决方案


保持循环无限运行,直到它不再为零

在这种情况下,这样的事情应该可以完成:

for (int i = 0; timeScale < 0.00001 || i < 1 / timeScale; i++)
{
    // ......
}

推荐阅读