.NET中的枚举用法浅析

  本文简单分析了.NET中的枚举用法。分享给大家供大家参考。具体分析如下:

  我理解的枚举就是编程中约定的一个“可选值”;例如QQ的在线状态,分别有    在线,Q我吧,隐身,忙碌等等。。。我觉得这就是一个枚举。

  1.普通枚举

  1) 实例

  

复制代码 代码如下:
public enum UserState

  {

  QMe,

  OnLine,

  OffLine     //后面省略

  }

  ps:像上边的枚举,可以单独写在一个CS文件中。

  2)普通枚举的性质

  1. 互斥性

  2. 每一个值都有一个数值来表示

  3. 枚举在编译时,就已经用数值来表示了。

  3)字符串转换成枚举

  

复制代码 代码如下:
(UserState)Enum.Parse(typeof(UserState),"Red") ;

  4)枚举转换成数值、字符串

  

复制代码 代码如下:
(int)myColor.Red;

  myColor.Red.ToString();

  2.标识枚举

  但一个事物具有多个属性时,普通枚举就不够用了。

  普通枚举是互斥的,标识而枚举是可以组合的。

  1)定义

  

复制代码 代码如下:
//使用以后结果是Tostring()的,而不是数字的。

  public enum GoodMan

  {

  高=1,

  富=2,

  帅=4     //这里必须是2的N次方,切不能重复。

  }

  2)状态组合(或运算)

  

复制代码 代码如下:
GoodMan winter = GoodMan.高| GoodMan.富| GoodMan.帅;

  3)判定winter中是否具有某个枚举值(与运算)

  

复制代码 代码如下:
if(winter&GoodMan.高==GoodMan.高)

  希望本文所述对大家的.net程序设计有所帮助。