社区
C#
帖子详情
C#中&与&&有什么区别
lyj73231
2012-04-25 09:20:59
C#中&与&&有什么区别?整数&整数是点样计算的,整数&&整数又是点样计算的,对于BOOL类型的,这两个又是点样进行计算的?最好举个例子说明下
...全文
2384
4
打赏
收藏
C#中&与&&有什么区别
C#中&与&&有什么区别?整数&整数是点样计算的,整数&&整数又是点样计算的,对于BOOL类型的,这两个又是点样进行计算的?最好举个例子说明下
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xboxeer
2012-04-25
打赏
举报
回复
位操作&就是按位于
逻辑运算符 &和&&都表示并且 不同是&需要判断两个操作数 而&&当一个操作数不符合条件时就不进行下一个判断
同样原则适用于|和||
EnForGrass
2012-04-25
打赏
举报
回复
&就是按位与,学过计算机组成原理吧
&&就是并且,表示同时满足&&前后的表达式或者值为真才执行
堆代码的爱因斯坦
2012-04-25
打赏
举报
回复
MSDN上的解释:条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。
操作x && y 对应于操作 x & y ,不同的是,如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 false)。 这被称作为“短路”计算。
不能重载条件“与”运算符,但常规逻辑运算符和运算符 true 与 false 的重载,在某些限制条件下也被视为条件逻辑运算符的重载。
下面介绍的场景:
1 if(userName !=null && userName .length>0) 这样的条件只能用&&,而不能用&,因如果用userName !=null 为false 的话,userName .lengh>0就不会再判断了,但如果换成& 的就会报错。这种场景下只能使用&&。
2 if(userName!=null && age>0) 这种场景下&&和& 都可以,但&&性能会好一点,因为x为false ,那么就不会再判断y了
3 还有一种场景需要使用& ,如:silverlight 后台数据验证,当提交后没有通过验证的都需要标记,这种情况下就可以用&。
private bool ValidateData()
{
this.ClearError();
return ValidUserName() & ValidRoleType();
}
private bool ValidUserName()
{
if (string.IsNullOrEmpty(this.UserName))
{
this.AddError("UserName", "用户名不能为空");
return false;
}
else
{
this.RemoveError("UserName");
return true;
}
}
private bool ValidType()
{
if (TypeIndex == 0)
{
this.AddError("TypeIndex", "请选择类型");
return false;
}
else
{
this.RemoveError("TypeIndex");
return true;
}
}
我是COPY的
q107770540
2012-04-25
打赏
举报
回复
MSDN:
一元 & 运算符返回操作数的地址(要求 unsafe 上下文)。
为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的逻辑按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,结果才为 true。
& 运算符计算两个运算符,与第一个操作数的值无关。
&还可以直接参与枚举运算,并且可以重载其二元运算
条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。
而&需要计算所有操作数,并且优先级高于&&
c#
中
(
&&
,||)与(&,|)的
区别
详解
C#
中
(
&&
,||)与(&,|)的
区别
详解
C#
中
(
&&
,||)与(&,|)是两种不同的逻辑运算符,它们之间的
区别
在于运算对象和运算结果。 一、(
&&
,||)逻辑运算符 (
&&
,||)逻辑运算符的运算对象是逻辑值,也就是True/False。
&&
相当于...
C#
语言
中
条件与
&&
与条件或||的
区别
件“与”运算符 (
&&
) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数 同时我们还要了解到 || 和
&&
都是左结合性的逻辑运算符,所以看下面的例子 class Program { static void Main...
C#
程序设计基础教程与实训习题答案
"
C#
程序设计基础教程与实训习题答案" 本资源是关于
C#
程序设计基础教程与实训习题答案的知识点总结,涵盖了
C#
语言概述、常用标准控件、数据类型、运算符和表达式等方面的知识点。 一、
C#
语言概述 *
C#
语言是一种...
C#
中
的位操作小结
在
C#
中
位操作同C的位操作没有什么
区别
,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置
中
,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、...
C#
中
的Equals、RefrenceEquals和==的
区别
与联系
C#
中
判断两个对象是否相等有Equals、RefrenceEquals和==三种,其
中
==为运算符,其它两个为方法,而Equals又有两种版本,一个是静态的,一个是虚拟的,虚拟的可以被实体类重写,静态的在方法体内也是调用虚拟的,如下...
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章