.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。这个时候一般需要为枚举加上[Flags]特性标记为位域,例如:
[Flags]
enum Styles { ShowBorder = 1, //是否显示边框 ShowCaption = 2, //是否显示标题 ShowToolbox = 4 //是否显示工具箱 }
myControl.Style
=
Styles.ShowBorder
|
Styles.ShowCaption;
这时myControl.Style枚举的值将变成 1+2=3,它的ToString()将变成"Styles.ShowBorder , Styles.ShowCaption"
Styles style
=
Styles.ShowBorder
|
Styles.ShowCaption;
style = style ^ Styles.ShowBorder; 这个时候style的值就会变成 Styles.ShowCaption
if
((style
&
Styles.ShowBorder)
!=
0
)
{
style = style ^ Styles.ShowBorder; }
|
C# 位域[flags] From:
http://hi.baidu.com/cnfczn/blog/item/b2d093ee79feeb212cf5340a.html
2009-05-26 09:30
转载于:https://www.cnblogs.com/yjkai/archive/2011/07/18/enum_1.html