马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

c#中&&和&以及||和|的区别【转】

[复制链接]
查看3278 | 回复0 | 2016-5-9 17:05:19 | 显示全部楼层 |阅读模式
|:二元 | 运算符是为整型和 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
则不会继续执行下去了.  

C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则