CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

如何使用枚举的组合值

作者: 深蓝,  出处:博客园, 责任编辑: 李书琴, 
2007-12-10 09:42
  有时我们需要将枚举定义为1,2,4,8.......的值,这样当传入一个3,那么就是表示1,2的组合,如果传入7,那就表示1,2,4的组合。要实现这种功能我们需要用到FlagsAttribute。

  有时我们需要将枚举定义为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

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i