1. 程式人生 > >Enum列舉值獲取及List的使用Demo

Enum列舉值獲取及List的使用Demo

Enum.GetValues(enumType)、Enum.GetName(enumType, i) 2個方法

class Program
    {
        public enum Product
        {
            飛機 = 1,
            輪船 = 2,
            汽車 = 3
        }
        static void Main(string[] args)
        {
            List<Way> myList = new List<Way>();
            foreach (Product pd in Enum.GetValues(typeof(Product)))
            {
                //myway物件必須放在foreach中,因為如果放在外層,只定義一個Way物件,對該物件重複賦值
                //指向的是同一塊記憶體區域,最終獲得的List值是3個 “汽車 3” 
                Way myway = new Way();
                myway.Id = pd.GetHashCode(); //1 2 3
                myway.Name = Enum.GetName(typeof(Product), pd);  //或者pd.ToString()  飛機,輪船,汽車
                myList.Add(myway);
            }

            //輸出List列表中的列舉值
            foreach (Way wy in myList)
            {
                Console.WriteLine(wy.Id + " " + wy.Name);
            }
                Console.ReadKey();
        }
    }
    public class Way
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }