关于C# 中的布尔运算符 "&" "|” 与 其类似的条件布尔运算符 "&&" "||" 区别说明。...

本文探讨了逻辑运算符&&和||在性能上的优势,与&和|相比,它们在处理操作数时更为高效。文章通过具体示例解释了在何种情况下使用这些运算符能避免不必要的计算,从而提升程序性能。

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

运算符使用说明如下:

 分隔符 ————————————————————————————

 

分隔符 ————————————————————————————

  上述两个运算符的结果与&和 | 完全相同,但得到结果的方式有一个重要区别:其性能比较好。两者都是检查第一个操作数的值(表2中的var2),再根据该操作数的值进行操作,可能根本就不处理 第二个操作数(表42中的var3)。

  如果&&运算符的第一个操作数是 false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是 false。同样,如果第一个操作数是 true,|| 运算符就返回 true 后, 无需考虑第二个操作数的值。但上面的&和 | 运算符却不是这样。它们总是要计算两个操作数。

  在大量使用这些运算符的应用程序中这表现得尤为明显。作为一个规则,尽可能使用&&和 || 运算符。这些运算符有时用于比较复杂的情形,例如,只有第一个操作数包含某个值时,才计算第二个操作数:

        var1 = (var2 != 0) && (var3 / var2 > 2);

  如果 var2 是0,则 var3 除以 var2 就会导致“除 0 错误”,或者把 var1 定义为无穷大(对于某些类型如 float 来说,可能出现后一种情形,也是可以检测到的)

 

   总结:因为操作数的计算是有条件的,如果使用&&和 || 运算符来代替&和 |,性能会有一定提高。

转载于:https://www.cnblogs.com/JesseP/p/9796498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值