枚举

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

 

posted on 2018-01-20 17:04  强博员  阅读(99)  评论(0)    收藏  举报

导航