C# 这两个if语句相同吗?

C# 这两个if语句相同吗?,c#,if-statement,refactoring,C#,If Statement,Refactoring,(一) if((w | x)| y)| z) (二) if(w|x|y|z) 我在我正在编写的许多代码中都看到了第一个语句,我想知道是否可以将其简化为第二个语句。是的,这两个语句是等效的 当一个操作数出现在两个具有相同优先级的运算符之间时,运算符的关联性控制执行操作的顺序: 除赋值运算符外,所有二进制运算符都是左关联的,这意味着操作是从左到右执行的。例如,x+y+z的计算结果为(x+y)+z 简而言之,在第一个语句中,您正在检查w、x、y或z中的任何一个是否为真。因此,第二种说法实际上相当

(一)

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

(二)

if(w|x|y|z)


我在我正在编写的许多代码中都看到了第一个语句,我想知道是否可以将其简化为第二个语句。

是的,这两个语句是等效的

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

  • 除赋值运算符外,所有二进制运算符都是左关联的,这意味着操作是从左到右执行的。例如,x+y+z的计算结果为(x+y)+z

简而言之,在第一个语句中,您正在检查w、x、y或z中的任何一个是否为真。因此,第二种说法实际上相当于第一种说法。

我是不是很笨?
x+y*z
代表什么?啊:“当一个操作数出现在两个具有相同优先级的运算符之间时”,上述语句适用。也许值得补充你的答案,因为单独来看,你的报价是误导性的。