如何使 [Flags] 枚举和 switch case 一起工作?非常希望使它看起来简单。类似的问题问了很多次,但从来没有直接向 [Flags] 枚举。
如果 M1 设置执行操作 1,
如果 M2 设置执行 operation2 ,
如果 BOTH M1 和 M2 则设置执行操作 1 和 2。
[Flags]
public enum TST
{
M1 =1,
M2 =2,
M3 =4
}
public void PseudoCode()
{
TST t1 = TST.M1 | TST.M3; //1+2= 3
switch( t1)
{
case TST.M1:
{
//Do work if Bit 1 set
}
case TST.M2:
{
//Do work if Bit 2 set
}
case TST.M3:
{
//Do work if Bit 3 set
}
default:
{
//nothing set;
break;
}
}
}
我也很确定很多人想知道如何使它工作。请求修复 C#?