如何使用枚举的组合值

  1. 云栖社区>
  2. 博客>
  3. 正文

如何使用枚举的组合值

深蓝居 2016-05-06 16:45:31 浏览938
展开阅读全文
有时我们需要将枚举定义为1,2,4,8.......的值,这样当传入一个3,那么就是表示1,2的组合,如果传入7,那就表示1,2,4的组合。要实现这种功能我们需要用到FlagsAttribute。具体用法如下:
1.定义Enum。
[Flags]
public enum FormType
{
    Reimburse
=1,
    Payment
=2,
    Precharge
=4,
    PO
=8
}
2.组合枚举值的判断:
public static void Print(FormType ft)
    
{
        
if((ft&FormType.Reimburse)==FormType.Reimburse)//与判断
        {
            Console.WriteLine(
"Reimburse");
        }

        
if((ft&FormType.Payment)==FormType.Payment)
        
{
            Console.WriteLine(
"Payment");
        }

        
if((ft&FormType.Precharge)==FormType.Precharge)
        
{
            Console.WriteLine(
"Precharge");
        }

        
if((ft&FormType.PO)==FormType.PO)
        
{
            Console.WriteLine(
"PO");
        }

        Console.WriteLine(
"End");
    }

3.生成组合枚举:
FormType ft=FormType.Reimburse|FormType.PO;
Print(ft);
运行输出的结果就是:
Reimburse
PO

网友评论

登录后评论
0/500
评论
深蓝居
+ 关注