C#Bool操作数用法

时间:2017-02-17 12:18:41

标签: boolean boolean-operations

我希望得到以下结果

A B =
T T T
F T F
T F F
F F F

我正在使用此条款来实现它

A || B

但它没有提供正确的结果。

我使用了错误的操作数吗?

4 个答案:

答案 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)

使用&&(表示'和')

||表示'或'