• 动态获取枚举的名称/值对


    实现效果:

      

    知识运用:

      System.Enum类的  Enum.GetUnderlyingType()方法  //返回用于保存枚举的数据类型

    static void Main(string[] args)

    {
    Console.WriteLine("***Fun with Enums***");
    //创建职员类型
    EmpType emp = EmpType.Contractor;
    AskForBonus(emp);
    ♦//输出枚举的存储 使用GetUnderlyingType方法
    Console.WriteLine("EmpType uses a {0} for storage",Enum.GetUnderlyingType(emp.GetType()));
    Console.ReadKey();
    }

    ♦//使用C#的Typeof
    Console.WriteLine("EmpType uses a {0} for storage", Enum.GetUnderlyingType(typeof(EmpType)));

      System.Enum类的 GetValues()  静态方法  //返回一个System.Array的一个实例(数组中的每一项都对应指定枚举的一个成员)

    实现代码:

            static void EvaluateEnum(System.Enum e)
            {
                Console.WriteLine("=> Information about {0}",e.GetType().Name);
                Console.WriteLine("UnderLying storage type: {0}",System.Enum.GetUnderlyingType(e.GetType()));
                Array arr=System.Enum.GetValues(e.GetType());
                Console.WriteLine("This enum has {0}member.",arr.Length);
                for (int i = 0; i < arr.Length;i++ )
                {
                    Console.WriteLine("Name: {0},  Value: {0:D}",arr.GetValue(i));
                }
                Console.WriteLine();
            }
            static void Main(string[] args)
            {
                ConsoleColor clo = new ConsoleColor();
                DayOfWeek dw = new DayOfWeek();
                EmpType emp = new EmpType();
                EvaluateEnum(clo);
                EvaluateEnum(dw);
                EvaluateEnum(emp);
                Console.ReadKey();
            }
    

      

  • 相关阅读:
    题解 CF934A 【A Compatible Pair】 ——贪心
    洛谷 P3381 【【模板】最小费用最大流】
    洛谷 P3376 【【模板】网络最大流】
    洛谷 P1027 【Car的旅行路线】
    TYVJ P1039 【忠诚2】
    洛谷 P1273 【有线电视网】
    斯特林数相关
    从 简单容斥 到 min-max 容斥 与 二项式反演
    POI2011 Lightning Conductor
    LOJ6089 小 Y 的背包计数问题
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10349098.html
Copyright © 2020-2023  润新知