首页 > 其他 > 详细

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

时间:2019-02-03 10:17:34      阅读:150      评论:0      收藏:0      [点我收藏+]

实现效果:

  技术分享图片

知识运用:

  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();
        }

  

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

原文:https://www.cnblogs.com/feiyucha/p/10349098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!