c# check enum is contained in options
本问题已经有最佳答案,请猛点这里访问。
我正在尝试检查可用选项中是否包含枚举选项。用英语解释有点困难。代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | public enum Fruits { Apple, Orange, Grape, Ananas, Banana } var available = Fruits.Apple | Fruits.Orange | Fruits.Banana; var me = Fruits.Orange; |
我正在尝试检查Me变量是否包含在可用变量中。我知道这是可以做到的,因为它也与regexions一起使用。
最简单的方法是使用
1 | if ((available & me) != 0) |
这里可以使用0,因为有一个从常量0到任何枚举的隐式转换,这非常方便。
注意,您的枚举应该使用
1 2 3 4 5 6 7 8 9 | [Flags] public enum Fruits { Apple = 1 << 0, Orange = 1 << 1, Grape = 1 << 2, Ananas = 1 << 3, Banana = 1 << 4 } |
如果不想使其成为