A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

&与|在进行运算时,符号两边的表达式都进行计算后才得出值,

而&&与||在运算时,如果运算符左边的值能决定整个表达式的值,运算符右边的内容就不在计算了

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

4 个回复

正序浏览
yy312232557 发表于 2011-11-7 23:03
看了半天没看明白

楼主: C# 中 有 “&”  和 “| ”  这样的操作吗???

“| ”在C#中是“或”的意思,“||”在C#中是“逻辑或”的意思。
“&”在C#中是“且”的意思,“&&”在C#中是“逻辑且”的意思。

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
&和&&,&把整个表达式计算一遍,而&&当左边为false时,右边的就不会再去执行了, |和||只要有一方为真,那么整个表达式就为true.

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
看了半天没看明白

楼主: C# 中 有 “&”  和 “| ”  这样的操作吗???

他们是什么意思???怎么读???

我只知道:

一:“&&”是C#中的“且”的意思,表示同位true 则为 true, 否则 为 false;

二:“||”吃C# 中的 “或”的意思,表示只要其中之一为true 则 为 true;

三: 第三种就是“!”表示当前bool运算表达式的取反操作

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
  1. &与|在进行运算时,符号两边的表达式都进行计算后才得出值,

  2. 而&&与||在运算时,如果运算符左边的值能决定整个表达式的值,运算符右边的内容就不在计算了
复制代码
你回答的挺对。其实你的答案合在一起就是你想要的[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的区别],在这再补充一下,如有问题相互讨论。
[&(与操作)与&&(逻辑与操作),|(或操作)与||(逻辑或)的两者最大区别是逻辑与和逻辑或是短路操作符,而与操作和或操作不是。
     我先说下&&与||这个两个运算符,&&与||是逻辑运算符,又是短路操作符。什么是短路操作符呢?那首先知道什么是短路(初中物理学过),我想大家都知道。我们注意到,对于&&操作符来说,如果它的左操作数为false,则整个表达式一定为false,我们不需要再计算其右表达式。对于||情况也是一样的,如果其左操作数为true,则整个表达式一定为true,而不用计算其右表达式。这两个操作符只有在当左操作数不能决定整个表达式的值的时候才会计算右操作数。
而按位与/或”(&和|)却不是短路操作,既然不是短路操作,那就执行完表达式再得出值了。

评分

参与人数 1技术分 +1 收起 理由
杨恩锋 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马