布尔逻辑运算符

本文详细介绍了C#中的布尔逻辑运算符,包括逻辑非运算符、逻辑AND运算符、条件逻辑AND运算符、逻辑异或运算符、逻辑或运算符以及条件逻辑OR运算符,并通过实例解释了它们的用法和特点,如短路计算行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逻辑非运算符

一元前! 运算符算操作数的逻辑非。 也就是,如果操作数的false ,它生成 true ;如果操作

数的true ,它生成 false

bool passed = false;

Console.WriteLine(!passed);

// output: True Console.WriteLine(!true);

 // output: False

C# 8.0 起,一元后! 运算符null 包容运算符。

逻辑 AND 运算符 &

& 运算符算操作数的逻辑与。

如果 x y 果都true x & y true 。 否false

即使左操作数false & 运算符也会两个操作数,而在种情况下,无操作数的值 为何,运算果都false

bool SecondOperand() {

Console.WriteLine("Second operand is evaluated.");

 return true;

 }

bool a = false & SecondOperand();

 Console.WriteLine(a);

// Output: // Second operand is evaluated.

 // False bool b = true & SecondOperand();

 Console.WriteLine(b);

 // Output: // Second operand is evaluated. // True

条件逻辑 AND 运算符 && 算操作数的逻辑 AND,但如果左操作数的false ,它就不会算 右操作数。

整型数值类型的操作数, & 运算符算其操作数的位逻辑 AND。 一元 & 运算符是 address-of 运算符。

逻辑异或运算符 ^

^ 运算符算操作数的逻辑异或(亦称逻辑 XOR”)。 如果 x true y false , 或者 x false y true ,那么 x ^ y true 。 否false 。 也就 是bool 操作数, ^ 运算符的果与不等运算符 != 相同。

Console.WriteLine(true ^ true); // output: False

 Console.WriteLine(true ^ false); // output: True

 Console.WriteLine(false ^ true); // output: True

 Console.WriteLine(false ^ false); // output: False

整型数值类型的操作数, ^ 运算符算其操作数的位逻辑异或。

逻辑或运算符 |

| 运算符算操作数的逻辑或。 如果 x y true x | y true 。 否false 。 即使左操作数true | 运算符也会两个操作数,而在种情况下,无操作数的值为 何,运算果都true

bool SecondOperand() {

 Console.WriteLine("Second operand is evareturn true; }

 bool a = true | SecondOperand(); Console.WriteLine(a); // Output: // Second operand is evaluated. // True bool b = false | SecondOperand();

 Console.WriteLine(b); // Output: // Second operand is evaluated. // True

条件逻辑 OR 运算符 || 算操作数的逻辑 OR,但如果左操作数的true ,它就不会算右操作数。 于整型数值类型的操作数, | 运算符算其操作数的位逻辑 OR

条件逻辑与运算符 && (亦称短路逻辑与运算符)算操作数的逻辑与。 如果 x y 果都true x && y true 。 否false 。 如果 x false y

bool SecondOperand()

{

Console.WriteLine("Second operand is evaluated.");

return true;

}

bool a = false && SecondOperand();

Console.WriteLine(a);

// Output:

// False

bool b = true && SecondOperand();

Console.WriteLine(b);

// Output:

// Second operand is evaluated.

// True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值