分享

C# Enum [Flags]运用

 IT少年 2018-07-11
有些项目里不知你是否见过 Enum上面放[Flags]

放和不放[Flags]有哪些区别,下边重点介绍

Flags有什么用  他可以让你更加方便得出多个结果

注意点:枚举值必须为2的次方,例如:1,2,4,8,16 才会有效(非常重要)

public enum AgeType
        {
            Baby=0,

            Child=1,

            Young=2,

            Middle=4,

            Old=8
        }


        public void JudgeAgeType(int age = 25)
        {
            AgeType ageType = AgeType.Child | AgeType.Young | AgeType.Middle;
            Console.WriteLine("结果:");
            Console.WriteLine(ageType.ToString());
            Console.WriteLine((int)ageType);
            Console.Read();
        }
结果:
7
7

添加上[Flags]之后
[Flags]
        public enum AgeType
        {
            Baby=0,

            Child=1,

            Young=2,

            Middle=4,

            Old=8
        }


        public void JudgeAgeType(int age = 25)
        {
            AgeType ageType = AgeType.Child | AgeType.Young | AgeType.Middle;
            Console.WriteLine("结果:");
            Console.WriteLine(ageType.ToString());
            Console.WriteLine((int)ageType);
            Console.Read();
        }
结果:
Child, Young, Middle
7

联想到什么了?以后如果返回所有的枚举类型是不是变得简单了,但是注意枚举值

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多