读书人

C# amp; | 是什么意义

发布时间: 2014-01-01 18:12:08 作者: rapoo

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

读书人网 >C#

热点推荐