【发布时间】:2015-02-13 12:02:30
【问题描述】:
我正在“csharp-station.com”上查找一些初学者课程,以复习我的 C# 知识。对于 AND 和 OR 运算符,我一直使用“&&”和“||”像其他人一样。我什至不知道有一个版本。
声明如下:
关于 OR:“两种 OR 形式的主要区别在于,正则 OR 运算符每次都会计算两个子表达式。但是,只有当第一个子表达式计算时,条件 OR 才会计算第二个子表达式为假。”
关于 AND:“两者的区别在于,常规的 AND 运算符每次都会计算两个表达式。但是,条件 AND 运算符只有在第一个子表达式的计算结果为 true 时才会计算第二个子表达式。”
它总结为:“条件运算符(&& 和 ||)通常被称为短路运算符,因为它们并不总是评估整个表达式。因此,它们也被用来通过忽略不必要的逻辑来生成更高效的代码。”
就这样吗?是否有一个代码示例更合理地使用常规运算符?我知道这个问题是微不足道的,但我只是好奇。提前致谢。
【问题讨论】:
-
您是否在问为什么要在逻辑、非短路上下文中使用
&/|?如果是这样,请参阅 stackoverflow.com/questions/9264897/…(它的 Java 但适用于此处) -
它们在充当位运算符的整数上非常有用。我一直在加密代码中使用它们。