You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中&=运算符的作用是什么?新手求通俗讲解

理解C#中的&=运算符

&= 是按位与赋值运算符,说白了就是先把变量和右边的数做「按位与」运算,再把结果存回变量里,等价于 z = z & 599。

先搞懂什么是「按位与」:把两个整数转换成二进制,从右到左每一位对应对比——只有当两个数的某一位都是1时,结果的这一位才是1,只要有一个是0,结果位就是0。

拿你的代码举例子:

  • 初始z是4,转换成32位二进制是 00000000 00000000 00000000 00000100
  • 599的32位二进制是 00000000 00000000 00000010 01010111
  • 逐位对比后,只有第3位(从0开始数)两个数都是1,其他位要么z是0,要么599是0,所以结果还是4,这就是你代码输出4的原因。

再给你个更清楚的例子:如果z是6(二进制110),执行z &= 3(3的二进制是011),按位与后得到010也就是2,所以z最后会变成2。

关键点总结

  • &= 就是「先按位与,再赋值」的简写
  • 按位与的核心是「同1为1,有0则0」
  • 这种操作常用来保留数字的某些二进制位,或者把某些位清零(比如想保留最后3位,就和二进制111也就是7做按位与)

你的示例代码:

int z = 4;
z &= 599;
Console.WriteLine(z); // 输出结果为4

内容的提问来源于stack exchange,提问作者Muhammad Hisyamuddin Bin Hamza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 04:30:56