news 2026/4/17 18:33:53

36、枚举类型的深入解析与应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
36、枚举类型的深入解析与应用

枚举类型的深入解析与应用

1. 枚举类型的底层类型与显式值设置

在定义枚举类型时,我们可以使用除int之外的整数类型。具体做法是在枚举名称后面加上冒号和类型名称,不过该类型不能是char。枚举的所有成员常量都属于其底层类型,成员常量的值可以是底层类型的任意值。若要显式设置成员的值,可在枚举声明中成员名称后使用初始化器。需要注意的是,成员名称不能重复,但值可以重复。

以下是TrafficLight枚举的两种等价声明示例:

// 接受默认类型和编号 enum TrafficLight { Green = 10, Yellow = 15, // 重复值 Red = 15 // 重复值 } // 显式设置底层类型为 ulong enum TrafficLight : ulong { // ... }

2. 成员的隐式编号

我们可以为枚举的成员常量显式赋值。若未对成员常量进行初始化,编译器会隐式为其赋值,具体规则如下:
- 第一个未初始化的成员常量值为 0。
- 后续未初始化的成员常量值比前一个成员常量的值大 1。
- 成员名称关联的值不需要唯一。

以下是两个枚举声明的示例:

// 接受成员的隐式编号 enum CardSuit { Hearts, // 0 - 因为这是第
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:26:22

39、深入理解C委托:从基础到高级应用

深入理解C#委托:从基础到高级应用 1. 委托的基本概念 委托可以被看作是一个包含具有相同签名和返回类型的方法有序列表的对象。这个方法列表被称为调用列表。当调用委托时,它会依次调用调用列表中的每个方法。 与C++中的函数指针类似,只有一个方法的委托与之有相似之处,但…

作者头像 李华
网站建设 2026/4/17 10:01:39

GPT-SoVITS在智能家居中的语音定制应用

GPT-SoVITS在智能家居中的语音定制应用 在智能音箱、温控系统和家庭安防日益普及的今天,一个看似微不足道却深刻影响用户体验的问题逐渐浮现:为什么家里的“助手”永远是同一个声音?冰冷、机械、缺乏情感——这种千篇一律的语音播报方式&…

作者头像 李华
网站建设 2026/4/16 12:37:51

Zotero Reading List终极指南:轻松管理文献阅读进度的完整方案

Zotero Reading List终极指南:轻松管理文献阅读进度的完整方案 【免费下载链接】zotero-reading-list Keep track of whether youve read items in Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-reading-list 还在为堆积如山的学术文献感到无…

作者头像 李华
网站建设 2026/3/29 6:40:09

Python+uniapp微信小程序基于Android的党员之家服务系统APP_y1o0th43

目录已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!已开发项目效果实现截图 同行可拿货,招校园代理 Pythonuniapp微信小程序基于Android的党员之家服务系统APP_y1…

作者头像 李华
网站建设 2026/4/16 14:41:08

特斯拉Model 3 CAN总线数据解析终极指南:快速掌握车辆通讯核心

特斯拉Model 3 CAN总线数据解析终极指南:快速掌握车辆通讯核心 【免费下载链接】model3dbc DBC file for Tesla Model 3 CAN messages 项目地址: https://gitcode.com/gh_mirrors/mo/model3dbc 想要揭开特斯拉Model 3智能系统的神秘面纱吗?想要轻…

作者头像 李华