[Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理。”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了。 另外一个是在引用COM组件时使用,
.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:你可以查看MSDN
对于前面一种的话就是可以使用不带[flags]后面一种的话就是可以带[Flags]
这种用处很大,比如权限、执行状态等,都可以用一个int型保存到数据库中,C#中使用枚举可以处理这个问题。
[Flags]
enum
Days2
{
None = 0x0,
Sunday =
0x1,
Monday = 0x2,
Tuesday =
0x4,
Wednesday = 0x8,
Thursday =
0x10,
Friday = 0x20,
Saturday =
0x40
}
class
MyClass
{
Days2 meetingDays = Days2.Tuesday |
Days2.Thursday;
}
c#中[Flags] 枚举类型定义问题_百度知道,布布扣,bubuko.com
原文:http://www.cnblogs.com/BoYu045535/p/3605239.html