OR,AND运算符

时间:2010-05-17 10:15:46

标签: c# boolean-operations

新手问题。 如何计算公式A f B的值,其中f - 二元函数OR或AND?

8 个答案:

答案 0 :(得分:21)

条件运算符&&和和||和布尔运算符&和|。主要是优先权(首先评估哪些运营商)以及&&和和||正在'逃避'。这意味着这是一个序列,如......

cond1 && cond2 && cond3

如果cond1为false,则cond2或cond3都不会被评估,因为代码正确地假设无论它们的值是什么,表达式都不能为真。同样...

cond1 || cond2 || cond3

如果cond1为true,则cond2或cond3都不会被计算,因为表达式必须为true,无论它们的值是什么。

按位对应物&和|没有逃脱。

希望有所帮助。

答案 1 :(得分:15)

逻辑OR为||,逻辑AND为&&。 如果您需要否定否,请在表达式前加上!

示例:

X = (A && B) || C || !D;

当A和B为真或者C为真或者D不为真(即假)时,X将为真。

如果您想要按位AND / OR / NOT,则可以使用&|~。但是如果你正在处理布尔/真值,你不想使用它们。它们不提供短路评估,例如由于按位操作的方式。

答案 2 :(得分:0)

if(A == "haha" && B == "hihi") {
//hahahihi?
}

if(A == "haha" || B != "hihi") {
//hahahihi!?
}

答案 3 :(得分:0)

我不确定这是否能回答你的问题,但例如:

if (A || B)
{
    Console.WriteLine("Or");
}

if (A && B)
{
    Console.WriteLine("And");
}

答案 4 :(得分:0)

使用'&&'用于AND并使用'||'对于OR,例如:

bool A;
bool B;

bool resultOfAnd = A && B; // Returns the result of an AND
bool resultOfOr = A || B; // Returns the result of an OR

答案 5 :(得分:0)

如果您感兴趣的是按位操作,请查看此处的简短教程:http://weblogs.asp.net/alessandro/archive/2007/10/02/bitwise-operators-in-c-or-xor-and-amp-amp-not.aspx .bitwise操作执行与上面示例的操作相同的操作,它们只使用二进制表示(该操作适用于每个单独的位)值)

如果您想要逻辑操作答案已经给出。

答案 6 :(得分:-1)

&安培;&安培;只有当两个操作数都为真时才会返回true,这意味着

bool and(bool b1, bool b2)]
{
 if(b1==true)
 {
   if(b2==true)
    return true;
 }
 return false;
}

||如果一个或两个操作数都是真的意味着

,那么它的操作返回true
bool or(bool b1,bool b2)
{
 if(b1==true)
 return true;
 if(b2==true)
 return true;
 return false;
}

如果你写

y=45&&34//45 binary 101101, 35 binary 100010

结果你有

y=32// in binary 100000

因此,我在上面写的内容是针对每对位使用的

答案 7 :(得分:-1)

上面的许多答案,我会尝试不同的方式:

如果您正在寻找按位操作,请仅使用以下标记之一:

3& 1 // == 1 - 和 4 | 1 // == 5 - 或