【发布时间】:2013-04-08 06:10:35
【问题描述】:
如果我有一个方法包含很多 if else 语句,例如:
public void myMethod()
{
if(..)
else if(..)
else if(...)
else if(...)
else if(...)
//and so on
}
将 return 放在这些语句中会更快,以便在发现一个语句为 true 后不检查其余代码,还是让编译器命中结束括号会更快?
我想这归结为一个问题:return 语句是否有效?
编辑:问题的重点:假设您有一个不断运行的游戏循环,其中包含许多方法和“else ifs”的代码。如果我必须每秒更新 2000 个不同的对象 60 次,那就是每秒检查 120000 个“else ifs”(至少)。因此,随着时间的推移,问题的答案可能会产生影响。
【问题讨论】:
-
else部分确保一旦找到匹配项“不检查其余代码”。如果你省略了else,那么你有一个真正的问题。 -
正如我在下面所说的,我想知道跳过未检查的行所花费的时间,而返回可能能够避免找到行尾并继续前进和那里。
标签: c# performance if-statement return