.NET中的 枚举

本文详细介绍了枚举类型的两种形式——普通枚举与标识枚举。包括它们的定义、使用方式及如何进行数值与字符串之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我理解的枚举就是编程中约定的一个“可选值”;例如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)定义

      [Flags]   //使用以后结果是Tostring()的,而不是数字的。

      public enum GoodMan

      {

           高=1,

           富=2,

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

      }

2)状态组合(或运算)

     GoodMan winter = GoodMan.高| GoodMan.富| GoodMan.帅;

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

    if(winter&GoodMan.高==GoodMan.高)

转载于:https://www.cnblogs.com/mcad/p/4183678.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值