news 2026/5/13 7:52:14

C#枚举enum

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#枚举enum

1 基本概念

定义:枚举是被命名的整形常量的集合
作用:一般用他来表示 状态或者 类型

在namespace语句块(这个常用) class语句块或 struct语句块中声明 函数中不能声明
注意 申明枚举和 声明枚举变量是两个概念
声明枚举 相当于创建一个自定义的枚举类型
声明枚举变量 使用声明的自定义枚举类型 创建一个枚举变量

2声明枚举语法

enum E_自定义枚举名
{
自定义player,// 枚举中包裹的整形常量 第一个默认值是0,下面会依次累加
自定义name, //这个就是1
自定义hp = 100,
自定义s//这个就是101
}

3 基本概念和声明枚举变量

(1)声明枚举变量

enum E_MonsterType { Normal, Boss } enum E_PlayerType { Main, Other } E_PlayerType playerType = E_PlayerType.Main; //声明枚举变量 自定义枚举类型 变量名 =默认值

(2)枚举常和switch配合

E_MonsterType monsterType = E_MonsterType.Boss; //声明枚举变量 自定义枚举类型 变量名 =默认值 switch (monsterType) { case E_MonsterType.Normal: Console.WriteLine("Noraml"); break; case E_MonsterType.Boss: Console.WriteLine("Boss"); break; }

(3)枚举类型转换

枚举底层类型是 int,且值为 0 所以playerType只能赋值0,赋值1就错误

int i = (int)playerType;//0 默认0开 playerType = 0; string str = playerType.ToString();//Main

string转枚举

parse后 第一个参数 :你要转为的是哪个 枚举类型 第二个参数 用于转换的对应的枚举项的字符串
转换完毕后 是一个通用类型 我们需要用括号强转成我们想要的目标枚举类型

playerType = (E_PlayerType)Enum.Parse(typeof(E_PlayerType),"Other");

输入数字 转为枚举类型

E_PlayerType type = (E_PlayerType)(int.Parse(Console.ReadLine()));
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 21:23:29

毕业设计实战:从零构建一个高可用的刷题平台后端架构

毕业设计实战:从零构建一个高可用的刷题平台后端架构 摘要:许多学生在毕业毕业设计实战:从零构建一个高可用的刷题平台后端架构 摘要:许多学生在毕业设计中选择开发刷题平台,却常因缺乏工程经验而陷入性能瓶颈、接口混…

作者头像 李华
网站建设 2026/5/11 2:34:00

车企智能客服系统实战:基于NLP与微服务架构的高并发解决方案

车企智能客服系统实战:基于NLP与微服务架构的高并发解决方案 摘要:车企智能客服面临高并发咨询、多轮对话理解等挑战。本文通过NLP意图识别、对话状态跟踪及微服务弹性伸缩方案,实现99.9%的意图识别准确率与5000 TPS的并发处理能力。包含Spri…

作者头像 李华
网站建设 2026/5/9 21:36:35

AI 辅助开发实战:高效完成 2025 计算机毕业设计的技术路径与避坑指南

毕业设计常见工程痛点 需求模糊:很多同学拿到题目时只有一句话,比如“做一个智能问答系统”,但具体支持什么题型、是否要多轮对话、要不要用户体系,全靠自己脑补。结果写到中期才发现功能膨胀,回炉重造。技术栈选择困…

作者头像 李华
网站建设 2026/5/12 13:09:48

Ubuntu22.04多版本CUDA部署实战:从11.8到12.1的平滑升级与兼容性验证

1. 为什么需要多版本CUDA共存 在深度学习开发中,不同框架对CUDA版本的要求往往存在差异。比如PyTorch 2.0推荐使用CUDA 11.8,而TensorRT 8.6则需要CUDA 12.1支持。更麻烦的是,某些遗留项目可能还依赖更早的CUDA版本。这就导致开发者经常需要在…

作者头像 李华
网站建设 2026/5/12 2:58:21

ChatGPT本地化部署实战:从模型加载到API封装的全流程解析

ChatGPT本地化部署实战:从模型加载到API封装的全流程解析 摘要:本文针对开发者面临的ChatGPT云端服务延迟高、数据隐私保护需求等痛点,详细解析如何通过LLaMA.cpp和FastAPI实现GPT模型的本地化部署。内容涵盖模型量化压缩、RESTful接口封装、…

作者头像 李华
网站建设 2026/5/10 16:43:17

深入解析PCIe BDF:Linux设备管理中的关键标识与应用实践

1. PCIe BDF基础概念:设备管理的身份证 第一次接触PCIe设备管理时,我盯着lspci命令输出的00:1f.0这样的字符串发呆了半天。后来才知道,这串看似简单的编码其实是PCIe世界的"身份证号",专业术语叫做BDF(Bus:…

作者头像 李华