如何从int中移除位
本文关键字:int | 更新日期: 2023-09-27 17:59:27
我有以下代码:
private enum Wall
{
Up = 0x0001,
Down = 0x0010,
Left = 0x0100,
Right = 0x1000,
}
private void Test()
{
int walls = 0x1111;
var wallsWithRightWallRemoved = walls | Wall.Right;
// wallsWithRightWallRemoved should now be this: 0x0111
}
我有一个叫做walls的变量,0x1111基本上代表4个布尔值。我想从墙上删除右侧的墙,所以我从中减去它(walls|wall.right;),但我得到了"无法将运算符&应用于int类型的操作数"。基本上,我想最终得到一个包含0x0111的变量。
感谢
wallsWithRightWallRemoved = walls & 0x0111;
或者将设置任何一个中的位。并且将在任意一个中取消设置为0的位,这就是您想要做的。