我只是写了几个条件变量,并认为将值设置为2个布尔值之间相等的结果会更容易。什么是更高效,按位或平等检查?
处理方面会更快/更有效率,显然这是边缘?
bool output = true&true;
或
bool output = true&&true;
我期望而不是先前计算整个字节
感谢和道歉上的模糊性后者作为其一个单一的相等性检查。从Robbas答案,如果代码是类似于:
bool input1 = GenerateFirstValue();
bool input2 = GenerateSecondValue();
bool output = input1 && input2;
明显改善是第2行放到声明将意味着当值为false你会在按位检查更有效,或预置值。特别是当逻辑具有密集方法时。
bool output = GenerateFirstValue() && GenerateSecondValue();
即使这样做,按照要求最低的第一次对支票进行排序。
[哪个更快?](https://ericlippert.com/2012/12/17/performance-rant/) –
如果**这**是应用程序中的性能瓶颈,*恭喜*。而且,如果它是瓶颈,那么尝试两者并衡量它似乎是微不足道的。 –
它们在运行时都会完全相同,因为它们是编译器将评估的常量表达式。这就是为什么这个问题只能由你在真实场景中回答。 –