動態獲取枚舉的名稱/值對


實現效果:

  

知識運用:

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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM