c#中,If语句中的反条件更快
本文关键字:条件 语句 If | 更新日期: 2023-09-27 18:14:38
我有一个同事和我争论,当在if语句中使用否定条件时速度更快。我反驳说,编译器正在优化代码,我们真的不知道这个条件最终会如何结束。
例如,她声称
if(!MyCondition)
比
快if(MyCondition)
我已经搜索了,找不到任何地方的参考。所以,我的问题是:
在if语句中使用条件时,是否真的有提高性能的偏好?或者只是为了更好的可读性?
过早优化是万恶之源
永远追求可读性。
if ( hasRightXYZ )
和
if ( ! hasRightXYZ )
在可读性方面没有那么重要。但如果条件变得复杂,总是寻找更好的可读性。
if ( hasRightXYZ || hasRightYZX || hasRightZYX )
和
if ( ! hasRightXYZ && ! hasRightYZX && ! hasRightZYX )
如果你正在寻找性能改进,一个简单的否定不是你想要寻找的东西。非常典型的N+1选择场景或其他一些东西