c#中,If语句中的反条件更快

本文关键字:条件 语句 If | 更新日期: 2023-09-27 18:14:38

我有一个同事和我争论,当在if语句中使用否定条件时速度更快。我反驳说,编译器正在优化代码,我们真的不知道这个条件最终会如何结束。

例如,她声称

if(!MyCondition)

if(MyCondition)

我已经搜索了,找不到任何地方的参考。所以,我的问题是:

在if语句中使用条件时,是否真的有提高性能的偏好?或者只是为了更好的可读性?

c#中,If语句中的反条件更快

过早优化是万恶之源

永远追求可读性。

if ( hasRightXYZ )

if ( ! hasRightXYZ )

在可读性方面没有那么重要。但如果条件变得复杂,总是寻找更好的可读性。

if ( hasRightXYZ || hasRightYZX || hasRightZYX )

if ( ! hasRightXYZ && ! hasRightYZX && ! hasRightZYX )

如果你正在寻找性能改进,一个简单的否定不是你想要寻找的东西。非常典型的N+1选择场景或其他一些东西