C# 中的枚举在通常情况下,只能表示单一的事务,如果表示多个并列,则需在定义是加Flags标志,下面就是关于这种用法,通过添加Flags,使枚举类型能够像位那样去操作。
源代码如下:
using System;
namespace EnumTypeBasic
{
[Flags]
enum MyColor
{
White,
Black,
Red,
Pink=4,
Yellow=8,
Gray=16,
Silver=32
}
class Program
{
static void Main(string[] args)
{
MyColor c1 = MyColor.Red;
Console.WriteLine("你喜欢的颜色是:{0}", c1);
int iNum = 6;
MyColor c2 = (MyColor)iNum;
Console.WriteLine("c2颜色是:{0}", c2);
MyColor c3;
c3 = MyColor.Silver;
int iNum2 = (int)c3;
Console.WriteLine("c3颜色对应的数值为:{0}", iNum2);
MyColor c4 = MyColor.Gray | MyColor.Silver;
Console.WriteLine("c4的颜色是:{0}", c4);
}
}
}
输出结果为:
你喜欢的颜色是:Red
c2颜色是:Red, Pink
c3颜色对应的数值为:32
c4的颜色是:Gray, Silver
新闻热点
疑难解答