首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# & | 是什么意义

2014-01-01 
C# & | 是什么意思我知道&& 和 || 的意思今天同事问我一个|是什么意思 果断不知道。。。。我在C++中看到过&和|

C# & | 是什么意思
我知道&& 和 || 的意思
今天同事问我一个|是什么意思 果断不知道。。。。
我在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.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());
输出的结果是
0
0
0
1
False
False
False
True
False
False
False
True
0
1
1
1
False
True
True
True
False
True
True
True

热点排行