zoukankan      html  css  js  c++  java
  • 如何使用枚举的组合值

    有时我们需要将枚举定义为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
    【本文章出自博客园深蓝居,转载请注明作者出处,如果您觉得博主的文章对您有很大帮助,欢迎支付宝(studyzy@163.com)对博主进行打赏。】
  • 相关阅读:
    《剑指offer》面试题7:旋转数组的最小数字
    eclipse ------ TODO、FIXME、XXX 等任务标记
    RT-Thread ------ waitqueue
    RT-Thread ------ 设备注册
    ubuntu 安装 glibc
    openwrt上面移植MQTT代码
    MH5000-31模组无法识别SIM卡
    "Hello osmdroid World"手机GPS轨迹数据
    地质数据下载
    绘图软件Surfer绘制等高线
  • 原文地址:https://www.cnblogs.com/studyzy/p/924548.html
Copyright © 2011-2022 走看看