C#中|(位或)和||(逻辑或)

MSDN:
|:二元 | 运算符是为整型和 bool 类型预定义的。对于整型,| 计算操作数的按位“或”结果。对于 bool 操作数,| 计算操作数的逻辑“或”结果;也就是说,当且仅当两个操作数均为 false 时,结果才为 false
&:& 运算符既可作为一元运算符也可作为二元运算符。

一元 & 运算符返回操作数的地址(要求 unsafe 上下文)。

为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的逻辑按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,结果才为 true。 

|位或运算的时候,他会将所有运算条件都算出结果,再判断是否为真.
|| 逻辑或运算的时候,从前往后运算,若有一个成立,则不再继续运算下面的条件.直接为真.

& 与 && 也是同理.
用 & 和 && 打个比方.
txtName 是个textbox.
if(txtName != null && txtName.Text != "")
{}

if(txtName != null & txtName.Text != "")
{}
会出现不同的效果.
当txtName = null的时候.
第2条语句会报错.
因为第2条会一起执行 txtName != null 和 txtName.Text != ""
所以第2个条件报错.
而第1句执行txtName != null的时候 得到 false
则不会继续执行下去了.  

posted on 2012-12-04 11:16  Joey_zy0210  阅读(15401)  评论(1编辑  收藏  举报

导航