C#如何在没有括号的情况下计算AND OR表达式

Eat*_*oku 4 .net c#

我不知道这是否有意义我试图理解C#如何处理以下逻辑

false && true || false
false || true && false
Run Code Online (Sandbox Code Playgroud)

基本上我试图找出C#在没有括号时如何评估这些表达式.

pax*_*blo 10

&&具有更高的优先级||,所以它首先评估.实际上,它们相当于:

false && true || false  =>  (false && true) || false  =>  false
false || true && false  =>  false || (true && false)  =>  false
Run Code Online (Sandbox Code Playgroud)

如果您不确定,请使用括号.它们没有真正的负面影响,任何使代码更具可读性的东西通常都是好事.

也许一个更好的例子(结果是不同的)将是:

true && false || false  =>  (true && false) || false  =>  false
true || false && false  =>  true || (false && false)  =>  true
Run Code Online (Sandbox Code Playgroud)


Ed *_* S. 5

编译器会计算出来,因为标准指定了运算符优先级

也就是说,如果一个表达式需要你思考一秒钟以上的事情以什么顺序发生......请使用括号来明确表示 =)