news 2026/4/30 19:10:00

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/23 13:13:43

45、LINQ 查询操作符详解

LINQ 查询操作符详解 1. where 子句 where 子句用于排除不满足指定条件的项。它的语法如下: where BooleanExpression关于 where 子句,有以下重要信息: - 一个查询表达式可以包含任意数量的 where 子句,只要它们位于 from...let...where 部分。 - 一个项必须满足所…

作者头像 李华
网站建设 2026/4/25 18:48:33

从零搭建Open-AutoGLM环境(万元级与入门级配置实测对比)

第一章:从零开始理解Open-AutoGLM环境需求在部署和使用 Open-AutoGLM 之前,正确配置运行环境是确保模型高效执行推理与训练任务的基础。该框架依赖于特定版本的 Python 及其核心科学计算库,同时对硬件资源有一定要求,以支持大规模…

作者头像 李华
网站建设 2026/4/25 1:27:27

GPT-SoVITS语音呼吸感模拟提升自然度

GPT-SoVITS语音呼吸感模拟提升自然度 在虚拟主播声情并茂地讲完一段故事,听众却总觉得“哪里不太对”——语气太顺、停顿太规整、一句话从头到尾气息平稳得像机器扫过。这种“完美得不像人”的违和感,正是当前文本到语音(TTS)系统…

作者头像 李华
网站建设 2026/4/27 12:30:10

从零开始掌握Open-AutoGLM,手把手教你构建自动化生成系统

第一章:Open-AutoGLM概述与核心理念Open-AutoGLM 是一个开源的自动化通用语言模型(General Language Model, GLM)构建框架,旨在降低大语言模型定制与部署的技术门槛。该框架融合了模型蒸馏、提示工程优化、自动微调与推理加速等核…

作者头像 李华
网站建设 2026/4/27 13:47:07

AutoRaise:鼠标悬停智能窗口管理,重塑macOS多任务体验

AutoRaise:鼠标悬停智能窗口管理,重塑macOS多任务体验 【免费下载链接】AutoRaise AutoRaise (and focus) a window when hovering over it with the mouse 项目地址: https://gitcode.com/gh_mirrors/au/AutoRaise 在数字化工作时代,…

作者头像 李华
网站建设 2026/4/27 13:48:24

GPT-SoVITS语音前后处理模块设计要点

GPT-SoVITS语音前后处理模块设计要点 在如今个性化内容爆发的时代,用户不再满足于千篇一律的机械语音。从虚拟主播到AI助手,再到有声书朗读,人们期待的是“像真人一样说话”的声音——不仅音色熟悉,语调自然,甚至能传…

作者头像 李华