news 2026/8/16 11:55:17

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/8/16 10:25:01

10 个AI论文工具,助你高效完成研究生毕业论文!

10 个AI论文工具,助你高效完成研究生毕业论文! 论文写作的“隐形助手”:AI 工具如何改变研究生的科研之路 在当今学术研究日益复杂的背景下,研究生们面临着越来越高的论文写作要求。无论是选题、文献综述,还是数据分析…

作者头像 李华
网站建设 2026/8/9 0:18:21

38、C 数组全面解析

C# 数组全面解析 1. 数组基础概念 1.1 数组定义 数组是一组统一的数据元素,由一个变量名表示。通过变量名和方括号内的一个或多个索引来访问各个元素。以下是与 C# 数组相关的重要定义: - 元素 :数组中的每个数据项称为元素,数组的所有元素必须是相同类型,或派生自相…

作者头像 李华
网站建设 2026/8/11 3:39:42

40、C 接口:深入理解与应用

C# 接口:深入理解与应用 1. 使用 IComparable 接口的示例 在编程中,排序是一项常见操作。对于整数数组的排序,我们可以轻松实现。例如: var myInt = new [] { 20, 4, 16, 9, 2 }; // 创建一个整数数组 Array.Sort(myInt); // 按大小对元素进…

作者头像 李华
网站建设 2026/8/8 6:15:19

42、深入理解C中的泛型

深入理解C#中的泛型 1. 泛型是什么 在编程里,我们可以借助已学的语言结构,构建出多种不同类型的强大对象。通常的做法是声明类来封装所需的行为,接着创建这些类的实例。到目前为止,类声明中使用的类型都是特定类型,要么是程序员自定义的,要么是由语言或基础类库(BCL)提…

作者头像 李华
网站建设 2026/8/8 1:47:50

微信批量消息发送神器:快速实现高效群发操作

微信批量消息发送神器:快速实现高效群发操作 【免费下载链接】WeChat-mass-msg 微信自动发送信息,微信群发消息,Windows系统微信客户端(PC端 项目地址: https://gitcode.com/gh_mirrors/we/WeChat-mass-msg 还在为手动逐个…

作者头像 李华
网站建设 2026/8/16 9:18:48

终极指南:3步完成IDM激活,告别试用期限制

终极指南:3步完成IDM激活,告别试用期限制 【免费下载链接】IDM-Activation-Script-ZH IDM激活脚本汉化版 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script-ZH 还在为IDM下载速度受限而烦恼吗?想要彻底告别试用期的…

作者头像 李华