一、什么是枚举类型
枚举类型(也称为枚举):该类型可以是除 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(); } } }
此时用这三种不同的方式就可以拿到定义的枚举类型的属性,对应的值和描述信息。如下图所示