日期:2014-05-17  浏览次数:20987 次

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