正在使用
( 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 c
ORb 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))
。