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
则不会继续执行下去了.
|| 逻辑或运算的时候,从前往后运算,若有一个成立,则不再继续运算下面的条件.直接为真.
& 与 && 也是同理.
用 & 和 && 打个比方.
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 阅读(15590) 评论(1) 编辑 收藏 举报