比较bools对的简单方法?

Joh*_*aka 2 c# comparison boolean

假设我有以下bool:

  • ISA
  • 为B
  • 为-C
  • isExistingA
  • isExistingB
  • isExistingC

当isA,isB或isC为真时,如果所有真正的bool'对应的isExisting bools也是如此,我想做点什么.如果isA,isB或isC为false,则其对应的isExisting bool无关紧要.

这是我想出的:

if ((isA || isB || isC)
    && ((!isA || isExistingA)
    && (!isB || isExistingB)
    && (!isC || isExistingC)))
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我显然今天想不到,并且想知道是否有更简单的方法来表达这一点.

Han*_*esh 7

Wolfram Alpha可以简化布尔方程,尝试此链接

但是在我看来,不要太担心这一点,保持if语句清晰可读比担心紧凑性或性能更重要.