C# & | 是什么意思
我知道&& 和 || 的意思
今天同事问我一个|是什么意思 果断不知道。。。。
我在C++中看到过&和|还有一个符号 不知道什么意思
求科普 讲详细点
------解决方案--------------------先从逻辑角度说一下:
1.&&是逻辑与,&是按位与。
&&只用于布尔值,&可用于布尔值和位。
如果把二进制1看作真,0看作假,则&&与&的逻辑结果一致。
2.
------解决方案--------------------是逻辑或,
------解决方案--------------------是按位或。
------解决方案--------------------只用于布尔值,
------解决方案--------------------可用于布尔值和位。
如果把二进制1看作真,0看作假,则
------解决方案--------------------与
------解决方案--------------------的逻辑结果一致。
但是逻辑或与位按或还是有区别:
计算 a
------解决方案--------------------b时,若a为true,则不会再对b计算(调用函数或取值)
true
------解决方案--------------------b的写法编译器会直接给出警告:检测到无法访问的代码。
计算a
------解决方案--------------------b时,即使a为true也会计算b。
private Boolean getTrue()
{
System.Diagnostics.Debug.Print("getTrue");
return true;
}
Boolean b = true
------解决方案-------------------- getTrue();
仍然会输出"getTrue"。
下面的代码作为参考:
System.Diagnostics.Debug.Print((0 & 0).ToString());
System.Diagnostics.Debug.Print((1 & 0).ToString());
System.Diagnostics.Debug.Print((0 & 1).ToString());
System.Diagnostics.Debug.Print((1 & 1).ToString());
System.Diagnostics.Debug.Print((false & false).ToString());
System.Diagnostics.Debug.Print((true & false).ToString());
System.Diagnostics.Debug.Print((false & true).ToString());
System.Diagnostics.Debug.Print((true & true).ToString());
System.Diagnostics.Debug.Print((false && false).ToString());
System.Diagnostics.Debug.Print((true && false).ToString());
System.Diagnostics.Debug.Print((false && true).ToString());
System.Diagnostics.Debug.Print((true && true).ToString());
System.Diagnostics.Debug.Print((0
------解决方案-------------------- 0).ToString());
System.Diagnostics.Debug.Print((1
------解决方案-------------------- 0).ToString());
System.Diagnostics.Debug.Print((0
------解决方案-------------------- 1).ToString());
System.Diagnostics.Debug.Print((1
------解决方案-------------------- 1).ToString());
System.Diagnostics.D