C# 特殊运算符 |,&,^的运用

项目中遇到点特殊运算符,很久没有使用了,就研究了下,分享出来,提供给圈友们,多多指点:

(注:不说在计算机二进制内的位运算,单讲C#)

&,|,^ 我们知道除了用于位运算,还可以用于逻辑运算,分别对应与,或,异或。
下面详细看看:
^ 运算符针对整型类型和 bool 预定义了二元 ^ 运算符。 
对于整型类型,^ 会计算其操作数的按位异或。 
对于 bool 操作数,^ 计算其操作数的逻辑异或;
即,当且仅当其一个操作数为 true 时,结果才为 true。
Console.WriteLine(true ^ false);  // 返回 true
Console.WriteLine(false ^ false);  // 返回 false
Console.WriteLine(true ^ true);  // 返回 false

| 运算符针对整型类型和 bool 预定义了二元 | 运算符。 
对于整型类型,| 会计算其操作数的按位 OR。 
对于 bool 操作数,| 会计算其操作数的逻辑 OR;
即,当且仅当其两个操作数皆为 false 时,结果才为 false。
如:
Console.WriteLine(true | false);  // 返回 true
Console.WriteLine(false | false); // 返回 false

& 运算符为整型类型和 bool 预定义了二元 & 运算符。 
对于整型类型,& 计算其操作数的逻辑按位 AND。 
对于 bool 操作数,& 计算其操作数的逻辑 AND;
即,当且仅当其两个操作数皆为 true 时,结果才为 true。
Console.WriteLine(true & false);  // 返回 false
Console.WriteLine(true & true);   // 返回 true

其中&,|的运算结果与&&,||完全相同,但&&和||的性能更好。
因为&&和||都是检查第一个操作数的值,如果已经能判断结果,就根本不处理第二个操作数。
比如:
bool a = true;               
bool b = false;              
bool c = a || b;
检查第一个操作数a时已经得出c为true,就不用再处理第二个操作数b了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值