一、什么是枚举类型

        枚举类型(也称为枚举):该类型可以是除 char以外的任何整型(重点)。 枚举元素的默认基础类型为 int.准许使用的枚举类型有 byte、sbyte、short、ushort、int、uint、long 或 ulong。其作用就是规范代码。枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。

二、如何使用枚举类型

 

using System.ComponentModel;

namespace ConsoleApp1
{
    public enum EnumFinal
    {
        [Description("苹果")]
        Apple = 0,
        [Description("香蕉")]
        Banana = 1,
        [Description("")]
        Pear = 2,
        [Description("桃子")]
        Peach = 3
    }
}

 

三、定义获取枚举描述方法

 

using System;
using System.ComponentModel;
using System.Reflection;

namespace ConsoleApp1
{
    public static class EnumExtension
    {
        /// <summary>
        /// 获取枚举的描述信息
        /// </summary>
        public static string GetDescription(this Enum fruit)
        {
            Type type = fruit.GetType();
            FieldInfo fieldInfo = type.GetField(fruit.ToString());
            if (fieldInfo == null)
                return string.Empty;
            object[] attrs = fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
            string name = string.Empty;
            foreach (DescriptionAttribute attr in attrs)
            {
                name = attr.Description;
            }
            return name;
        }
    }
}

 

    四、使用枚举类型

using System;

namespace ConsoleApp1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine(EnumFinal.Apple);
            Console.WriteLine((int)EnumFinal.Apple);
            Console.WriteLine(EnumFinal.Apple.GetDescription());
            Console.ReadKey();
        }
    }
}

    此时用这三种不同的方式就可以拿到定义的枚举类型的属性,对应的值和描述信息。如下图所示

 

 

 posted on 2019-02-25 14:34  Los21Lucifer  阅读(190)  评论(0编辑  收藏  举报