c#了解布尔表达式
|
我敢肯定,这是一个非常简单的问题,但是我无法弄清楚为什么这个断言失败了...
基本上,如果IsApple为假或IsBannana为假,则断言应该失败,但是如果两者之一是正确的断言应该通过,那么有人可以解释为什么该断言失败吗?
[Test]
public void IsApplesOrBannans()
{
bool IsApple = true;
bool IsBannana = false;
if (!IsApple || !IsBannana)
Assert.Fail();
Assert.Pass();
}
没有找到相关结果
已邀请:
9 个回复
拭十年
俯乡骚钵皆
为true,因此if的值为true。 我敢打赌你想要:
悲帽慑彤电
有趣的是,所提出的问题无法回答(因为根据该问题,如果一个为真而另一个为假,则预期结果是不确定的)。
味芯憨
晤默报
我认为这个技巧“ 6”是C#常见问题解答,作为穷人的XOR
眠缝
恋裂
,因此失败条件可以写为:
或者,您也可以说两者都必须为false才能失败:
通常写为:
我个人认为这三个选择中的第一个是最好的。但这只是一个风格选择。在功能上,它们是等效的。 甚至更好的是,您可以将
的
和
部分切换:
甚至完全抛弃ѭ14声明:
需复
或者,如果您也不想同时使用它作为苹果和香蕉
泉秘胁