2

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

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

然后我用

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

2 回答 2

12

您可以使用 De Morgan 的恒等式简化方程:

  isA || (!isA && !isB)
= isA || !(isA || isB)
= isA || !isB
于 2013-06-12T09:15:09.307 回答
2

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

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

if (isA)
{
   rawData = Configuration.GetData();
}
else if(!isB)
{
   rawData = Configuration.GetOtherData();
}
于 2013-06-12T09:15:55.043 回答