正在使用
( Condition A or Condition B and Condition C )
一样
( Condition A and Condition C)
OR (Condition B and Condition C)
正在使用
( Condition A or Condition B and Condition C )
一样
( Condition A and Condition C)
OR (Condition B and Condition C)
不,第一个条件是:
(Condition A) OR (Condition B and Condition C)
第二个是:
(Condition A and Condition C) OR (Condition B and Condition C)
您可以清楚地看到它们之间的区别。
第一个表明
a或B and C必须匹配第二个表明
a and cORb and c是必须匹配的
(A) 或 (B 和 C) *IS NOT* (A 和 C) 或 (B 和 C)
希望这更有意义..
这里的根本问题是在混合运算符时应该包含括号。因为and优先,正如所写,你在问是否
(A or (B and C))
相当于
((A and C) or (B and C))
……答案是否定的。A, B, and C在分别是 的情况下true, false, and false,第一个条件的计算结果为 ,true而第二个条件的计算结果为false。
为了使它们等效,您可以在第一个表达式中添加括号,如下所示:
((A or B) and C)
在这种情况下,对于 的每个值组合A, B, and C,它将评估为与 相同的值((A and C) or (B and C))。