[System.Flags] public enum ReportEnum { FirstReport=0, MiddleReport=1<<0, ThirdReport=1<<1, YearReport=1<<2, LatestReport=1<<3 } class Program { static void Main(string[] args) { Console.WriteLine("hello world"); //遍歷枚舉 foreach (ReportEnum s in Enum.GetValues(typeof(ReportEnum))) { Console.WriteLine(s); } //值轉換爲枚舉,加了Flags,輸出YearReport,LatestReport 不加輸出10,數值若是轉換失敗直接返回數字 ReportEnum rptEnum = (ReportEnum)10; Console.WriteLine(rptEnum); //字符串轉換 加了Flags,輸出YearReport,ThirdReport 不加輸出6 若是字符串不匹配會報錯 ReportEnum rptEnum2 = (ReportEnum)Enum.Parse(typeof(ReportEnum), "YearReport,ThirdReport", true); Console.WriteLine(rptEnum2); //字符串轉換 加了Flags,輸出YearReport,ThirdReport 不加輸出6 若是字符串不匹配默認轉換成第一個FirstReport ReportEnum rptEnum3; Enum.TryParse("YearReport,ThirdReport", out rptEnum3); Console.WriteLine(rptEnum3); } }