C#中的枚举

欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

今天咱们一起学习下枚举。

在日常的业务编码过程中,由于对某些业务或状态进行区分,就使用到了C#中的枚举概念。

枚举和之前学习的类或结构一样,是由程序员定义的类型。枚举是值类型,可直接存储数据;枚举只有一种类型成员,命名的整数值常量。

    /// <summary>
    /// 车子分类
    /// </summary>
    enum CarCategory
    {         
        Bike,
        Car,
        Train
    }

枚举是由关键字enum来定义的,每个枚举类型都有一个底层整数类型默认为Int。也就是说枚举中的值在存储时,其实存储的是整形数据(Int)。

比如上面的例子,Bike其实存储的是0,Car是1,Train是2。也可以直接通过CarCatgory[index]来取对应的枚举值。

具体代码如下所示:

    class Program
    {
        static void Main(string[] args)
        {          
            CarCategory entity = CarCategory.Bike;
            Console.WriteLine(entity);
            Console.WriteLine((int)entity);
             Console.ReadKey();   
        }
    }

枚举的特性

设置底层类型和显示值

可以把冒号和类型名放在枚举名之后,这样就可以使用int以外的整数类型(任何类型)。

    /// <summary>
    /// 车子分类
    /// </summary>
    enum CarCategory:byte
    {         
        Bike,
        Car,
        Train
    }

这里需要注意的是,成员常量的值可以是底层类型的任何值。也可以使用重复的值,但是在日常编码过程中尽量不适用重复值。

    /// <summary>
    /// 车子分类
    /// </summary>
    enum CarCategory:byte
    {         
        Bike=0x40,
        Car=0x10,
        Train=0x10
    }

上面的代码是显示的设置值,如果不设置默认为隐式设置。同时可以可以显示地赋值给任何成员常量,如果不初始化一个成员常量,编译器隐式地给它赋一个值。

枚举只有单一的成员类型:声明的成员常量。

  • 不能对成员使用修饰符。它们都隐式地具有和枚举相同的可访问性。
  • 由于成员是常量,即使在没有该枚举类型的变量时它们也可以访问。

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。

很高兴能和您成为朋友。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy阿辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值