Csharp/C#教程:c#布尔运算符 – 正常与短路分享


c#布尔运算符 – 正常与短路

关于BOOLEAN运算符’|’的问题 和’||’。 我可以在这两个运营商之间找到的唯一区别是; 当使用’||’时 如果左侧为真,则不会评估表达式的右侧。

在人的偏好之外为什么会使用’|’ 在’||’ 用于布尔测试?

if(true | false) { do something } vs if (true || false) { do something } 

如果操作有副作用,这主要是一个问题:

考虑以下:

 using(IEnumerator iterator1 = args.GetEnumerator()) using (IEnumerator iterator2 = args.GetEnumerator()) { while (iterator1.MoveNext() | iterator2.MoveNext()) { //do stuff } } 

因为MoveNext操作会产生副作用,所以对于|两侧都很重要 无论第一个是否为真,都要执行。

为什么会使用’|’ 在’||’ 用于布尔测试?

如果(由于某种原因)右侧有副作用,您需要发生。

然而,这通常不是好的做法。

在人的偏好之外为什么会使用’|’ 在’||’ 用于布尔测试?

正因为您可能希望对双方进行评估。 您可能需要以任何一种方式发生副作用。

这很罕见,但它是可行的。

上述就是C#学习教程:c#布尔运算符 – 正常与短路分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014916.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐