为什么这是真的:
(true | false & false)
这是错误的:
(true | false && false)
在我看来应该是相反的..
最佳答案
它们绑定(bind)为:
true | (false & false) // true
和
(true | false) && false // false
虽然我会避免编写依赖于这些规则的代码 - 读者显然不清楚 :)
作为引用,请参阅 C# 4 语言规范的第 7.3.1 节,其中显示 &
的优先级高于 |
(因此是第一个结果)和 |
的优先级高于 &&
(因此是第二个结果)。
关于C#逻辑运算题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968513/