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

ppa*_*004 -2 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)
Run Code Online (Sandbox Code Playgroud)

结果:

false

false

false
Run Code Online (Sandbox Code Playgroud)

显然, && 不是正确的运算符。哪个运算符允许我有 2 个布尔值,当两者都为 false 时,返回 true

即 Console.Writeline(false false) 结果 true

Mic*_*zyn 5

最接近您的逻辑的是使用否定 XOR:

! (bi ^ bj);
Run Code Online (Sandbox Code Playgroud)

这样你会得到类似的东西:

1 * 1 = 1
-1 * 1 = -1
1 * -1 = -1
Run Code Online (Sandbox Code Playgroud)

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

bi == bj;
Run Code Online (Sandbox Code Playgroud)