我有以下代码:
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
}
我有一个名为wall的变量,其中0x1111基本上代表4个布尔值。从墙壁上我想要移除右墙,所以我从它中减去它(墙壁| Wall.Right;),但我得到"不能应用运算符&到int"类型的操作数。 基本上我想得到一个包含0x0111的变量。
谢谢
答案 0 :(得分:0)
wallsWithRightWallRemoved = walls & 0x0111;
或者将设置位于其中的位。并且将取消设置为0的位,这是你想要做的。