gpt4 book ai didi

c# - C# 中的单个 AND 运算符有什么意义?

转载 作者:行者123 更新时间:2023-12-02 22:25:33 24 4
gpt4 key购买 nike

为什么 & 存在?我的书告诉我即使第一个条件为假, & 也会检查两个条件是否为假,但是无论如何检查第二个条件是否为假是没有意义的,因为如果第一个条件为假,则总是会使整个事情为假。

最佳答案

&&是“ 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com