【发布时间】:2015-12-23 00:00:32
【问题描述】:
我有一位同事在与我争论说,在 if 语句中使用否定条件会更快。我反驳说编译器正在优化代码,我们真的不知道这种情况实际上会如何结束。
例如,她声称
if(!MyCondition)
比
快if(MyCondition)
我已经搜索过,但在任何地方都找不到此参考。所以,我的问题是:
在 if 语句中使用条件时,是否真的有任何偏好来提高性能?还是只是为了更好的可读性?
【问题讨论】:
-
问她的理由是什么。
-
我投票决定将此问题作为题外话结束,因为没有证据表明存在任何可检测的差异。
-
@Nikita 100,000 次迭代不需要 230 毫秒,更不用说显示出那么大的差异了。编写适当的基准。
-
@Dola 这类问题的问题,尤其是在这样陈述的时候,是它们既不有趣也不符合事实。 “我的同事说 X 比 Y 快” 对那个同事来说非常好,但对互联网的其他人来说却不是。单击"race the horses" 链接,编写适当的基准,然后如果您发现有显着差异,请询问原因。
-
这个问题已经在stackoverflow.com/questions/1029992/…讨论过
标签: c# if-statement conditional-statements