如何获取2个假布尔值并返回true作为结果

时间:2019-09-05 05:57:44

标签: c# boolean

在数学上,我们有-1 * -1 = 1。当两个负数相乘时,我们得到一个正数。

但是在C#bool中,我找不到解决方法。

int i = -1
int j = -1

bool bi = i>0
bool bj = j>0

Console.writeLine (bi) 
Console.writeLine (bj)
Console.writeLine (bi && bj)

结果:

false

false

false

显然,&&不是正确的运算符。 当两个运算符均为false时,哪个运算符可以让我拥有2个布尔值,返回true

即 Console.Writeline(false false) 结果为真

3 个答案:

答案 0 :(得分:4)

与您的逻辑最接近的是使用求异的XOR:

! (bi ^ bj);

这样,您会得到类似的东西:

1 * 1 = 1
-1 * 1 = -1
1 * -1 = -1

您还可以使用简单的比较运算符==

bi == bj;

答案 1 :(得分:4)

  

哪个运算符允许我在两个均为假的情况下使用2个布尔值,   返回true

如果您要检查两个值是否相等(例如,两个值均为true或两个值均为false),则==equality operator)是您的最佳选择。 / p>

var bob = true == true;
var bob2 = false == false;

bobbob2均为true

这非常适合您的问题,因为您想知道两个数是否为负 两个数为正(因为两个这些情况下,将它们相乘将得到一个正数。

答案 2 :(得分:-1)

Console.Writeline(bi == false && bj == false)或简称为(!bi &&!bj)