djs*_*y90 6 c# enums contains options
我正在尝试检查可用选项中是否包含枚举选项.我用英语解释它有点困难.这是代码:
public enum Fruits
{
Apple,
Orange,
Grape,
Ananas,
Banana
}
var available = Fruits.Apple | Fruits.Orange | Fruits.Banana;
var me = Fruits.Orange;
Run Code Online (Sandbox Code Playgroud)
我正在尝试检查我的 varliable是否包含在可用变量中.我知道它可以完成,因为它也与RegexOptions一起使用.
最简单的方法是使用&
:
if ((available & me) != 0)
Run Code Online (Sandbox Code Playgroud)
你可以在这里使用0,因为从常量0到任何枚举的隐式转换,这是非常方便的.
请注意,应使用Flags
属性和适当的面向位的值来定义枚举:
[Flags]
public enum Fruits
{
Apple = 1 << 0,
Orange = 1 << 1,
Grape = 1 << 2,
Ananas = 1 << 3,
Banana = 1 << 4
}
Run Code Online (Sandbox Code Playgroud)
如果您不想将其设为Flags
枚举,则应使用List<Fruit>
或类似存储可用选项.
归档时间: |
|
查看次数: |
197 次 |
最近记录: |