简化布尔方程

时间:2013-06-12 09:11:29

标签: boolean

我有一个布尔方程,想要简化它。帮助它。

bool needLoad = isA || (!isA && !isB);

之后我使用

if (needLoad){
       if (isA)
           rawData = Configuration.GetData();
       if (!isA && !isB)
           rawData = Configuration.GetOtherData();
}

2 个答案:

答案 0 :(得分:12)

您可以使用De Morgan的身份简化等式:

  isA || (!isA && !isB)
= isA || !(isA || isB)
= isA || !isB

答案 1 :(得分:2)

你的needLoad变量在那里毫无意义..

以下代码具有完全相同的效果:

if (isA)
{
   rawData = Configuration.GetData();
}
else if(!isB)
{
   rawData = Configuration.GetOtherData();
}