作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么 & 存在?我的书告诉我即使第一个条件为假, & 也会检查两个条件是否为假,但是无论如何检查第二个条件是否为假是没有意义的,因为如果第一个条件为假,则总是会使整个事情为假。
最佳答案
&&
是“ bool 与”运算符。如果它的两个操作数都为真,则它的计算结果为真,否则为假。它仅在第一项为真时才评估第二项,因为这是一项有用的优化。
&
是“二元与”运算符。它评估对其操作数应用按位与运算的结果。该值的类型与操作数的类型相同,可以是任何整型或bool。它总是评估它的两个操作数。
对于 bool 操作数,&
和 &&
之间唯一实际的区别是前者总是计算两个操作数,而另一个执行 short-circuit evaluation。 .
对于整数操作数,当然只能使用&
操作符。整数的按位与示例:
17 & 13 == 1
这是因为17是10001,按位,13是1101。所以运算是:
10001
& 01001
--------
00001
这同样适用于二进制和 bool OR 运算符(|
和 ||
)。
二元 & 运算符也可以用作一元运算符,它返回应用它的变量的地址,就像在 C 中一样。这只能在 不安全
代码中使用。示例:
unsafe {
int a = 3;
int* addressOfA = &a;
}
希望这能让事情变得更清楚一些。
关于c# - C# 中的单个 AND 运算符有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024849/
我是一名优秀的程序员,十分优秀!