枚举

 [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);
        }
    }
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息