关于BOOLEAN运算符'|'的问题 和'||'.我可以在这两个运营商之间找到的唯一区别是; 使用'||'时 如果左侧为真,则不会评估表达式的右侧.
在人的偏好之外为什么会使用'|' 超过'||' 用于布尔测试?
if(true | false)
{
do something
}
vs
if (true || false)
{
do something
}
Run Code Online (Sandbox Code Playgroud)
Ser*_*rvy 17
如果操作有副作用,这主要是一个问题:
考虑以下:
using(IEnumerator iterator1 = args.GetEnumerator())
using (IEnumerator iterator2 = args.GetEnumerator())
{
while (iterator1.MoveNext() | iterator2.MoveNext())
{
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
因为MoveNext操作引起副作用,所以无论第一个是否为真,执行的两侧都可能是重要的|.
| 归档时间: |
|
| 查看次数: |
2843 次 |
| 最近记录: |