C# 枚举的 与或非

首先定义枚举

1 public enum Mode {
2         x = 1,
3         y = 2,
4         z = 4,
5 }

定义的值要用2的n次幂,因为与或的操作是二进制的

然后定义变量

1 Mode mo = Mode.x | Mode.y;

这段代码表示 mo在 Mode.x和Mode.y时都应是成立的,判断方法如下:

1 Debug.Log((mo & Mode.x) == Mode.x);
2 Debug.Log((mo & Mode.y) == Mode.y);
3 Debug.Log((mo & Mode.z) == Mode.z);

返回的结果为 True, True, False

如果想要进行赋值操作

1 mo &= ~Mode.x;  // 判断Mode.x 时为False
2 mo |= Mode.x;   // 判断Mode.x 时为True

 

posted @ 2017-12-14 14:20  狭隘龙  阅读(2016)  评论(0)    收藏  举报