如果条件将在其他部分?

时间:2014-06-17 04:53:14

标签: conditional conditional-statements

我的程序中的条件看起来像这样......

  if(Revision_Number>0 || QuoteLink!=null)
   {

   }
  else()
   {

   }

那么其他部分会起什么作用?将 else 部分设为if(Revision_Number< 0 || QuoteLink == null)?其他条件会是什么样的?

2 个答案:

答案 0 :(得分:1)

没有,除非你想让它做某事......在这种情况下,你可以使用else if语句更精确。此外,如果您不需要最终的其他块,请不要写一个。如果不需要一段代码(可能只包含一个无用的注释),这是毫无意义的。

答案 1 :(得分:1)

所有其他案例执行else,其中相关的if条件不匹配。

如果" {#1}}中有Revision_Number>0 || QuoteLink!=null的正面表达,那么会产生(负/反)"否则"表达是:

!(Revision_Number>0 || QuoteLink!=null)

然后使用De Morgan's law,其中分发规则将||更改为&&

!(Revision_Number>0) && !(QuoteLink!=null)

简化

Revision_Number <= 0 && QuoteLink == null

(请注意!(x > y) - &gt; x <= y,假设这些值排序良好;相等的变化非常重要。)


因此,

if(Revision_Number>0 || QuoteLink!=null) {};   
else {};

通常等同于

if(Revision_Number>0 || QuoteLink!=null) {};   
else if (Revision_Number <= 0 && QuoteLink == null) {};

然而,前一种情况应该是首选,并且诸如副作用或像NaN这样的奇数值的实现细节会影响结果。