我希望得到以下结果
A B =
T T T
F T F
T F F
F F F
我正在使用此条款来实现它
A || B
但它没有提供正确的结果。
我使用了错误的操作数吗?
答案 0 :(得分:4)
尽管所有其他答案都是正确的,但我想指出您要求的运营商既不是||
也不是&&
。实际上完全符合您要求的运算符是&
(而您错误使用的等价物将是|
)。
而且,有什么区别? ||
和&&
是短路运营商。那是什么意思?这意味着如果左侧是true
,运算符右侧的任何内容仅评估。运算符的非短路版本(真正的bolean逻辑和和或运算符)不会发生这种情况:
public bool True()
{
Console.WriteLine("True called.");
return true;
}
public bool False()
{
Console.WriteLine("False called.");
return false;
}
var b1 = False() && True(); //b1 will be false and "False called." will be
//printed on the console.
var b2 = False() & True(); //b2 will be false and "False called. True called."
//will be printed on the console.
答案 1 :(得分:3)
您需要and
,但您使用了or
。
答案 2 :(得分:3)
我使用了错误的操作数吗?
是的,你是。
您需要 AND &&
运算符,只有在所有条件都为真时才会为真。
您正在使用 OR ||
运算符,即使其中一个条件为 true ,也会为您提供true。
使用 AND &&
运算符代替 OR ||
答案 3 :(得分:2)
使用&&
(表示'和')
||
表示'或'