OR,AND运算符

Ale*_*xry 12 c# boolean-operations

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

Mar*_*all 22

条件运算符&&和||之间存在区别 和布尔运算符&和|.主要是它的优先级(运算符首先被评估)以及&&和||的区别 正在'逃避'.这意味着这是一个序列,如......

cond1 && cond2 && cond3
Run Code Online (Sandbox Code Playgroud)

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

cond1 || cond2 || cond3
Run Code Online (Sandbox Code Playgroud)

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

按位对应,&和| 没有逃脱.

希望有所帮助.

  • 我认为你的意思是**按位**对应物,而不是*boolean*对应物. (3认同)

Thi*_*ter 17

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

例:

X = (A && B) || C || !D;
Run Code Online (Sandbox Code Playgroud)

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

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