栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

布尔逻辑运算符

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

布尔逻辑运算符

逻辑非运算符

一元前缀 ! 运算符计算操作数的逻辑非。 也就是说,如果操作数的计算结果为 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号