这两个if语句是否相同?

Rya*_*hel 2 c# refactoring if-statement

1)

if (((w || x) || y) || z)

2)

if (w || x || y || z)

我在很多我正在研究的代码中看到第一个,我想知道我是否可以将它简化为第二个.

Joh*_*ica 7

是的,这两个陈述是等价的.

7.2.1运算符优先级和关联性

当操作数出现在具有相同优先级的两个运算符之间时,运算符的关联性控制执行操作的顺序:

  • 除赋值运算符外,所有二元运算符都是左关联运算符,这意味着操作从左到右执行.例如,x + y + z被评估为(x + y)+ z.