True AND False 或 False AND True 更优雅的条件类型?

True AND False or False AND True type of condition in a more elegant way?

我不太确定如何在标题中具体说明这个问题,我知道这可能是一个非常愚蠢的问题,但仍然......:D

有没有更好的方法来检查这种情况:

if (bool1 && !bool2) {
  #different code1    
  #samecode
}
else if (!bool1 && bool2)
{
  #different code2
  #samecode
}

在此示例中,应检查代码的某些部分以满足这些条件,但有些部分应该可以正常工作。矛盾的语句不允许我在一个条件下合并它们。有没有其他方法可以写下这个条件,这样我就不用copy/paste代码了?

如果你的objective是为了避免重复#samecode,你可以使用Exclusive OR (AKA, XOR) operator如下:

if (bool1 ^ bool2) // <-- If bool1 is true or bool2 is true but not both.
{
    if (bool1)
    {
        // #different code1
    }
    else
    {
        // #different code2
    }
    // #samecode
}