当前位置: 首页 > news >正文

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()));
http://www.jsqmd.com/news/353319/

相关文章:

  • 点云分割本科毕设效率提升实战:从数据预处理到模型推理的全流程优化
  • ChatGPT翻译论文指令实战指南:从精准调参到学术合规
  • 从零开始:用Python构建你的小米智能家居控制中心
  • 基于SpringBoot + Vue的毕设项目架构解析:从单体到前后端分离的最佳实践
  • CANN Catlass 算子模板库深度解析:高性能矩阵乘(GEMM)架构、片上缓存优化与融合算子实现
  • 实战指南:如何用C++构建高效语音助手插件(附主流方案对比)
  • CANN PyPTO 编程范式深度解析:并行张量与 Tile 分块操作的架构原理、内存控制与流水线调度机制
  • 【正点原子STM32实战】内部温度传感器精准测温与LCD显示全解析
  • 深入解析audit2allow:从日志分析到SELinux权限修复实战
  • Cadence 17.2 软件使用(4)— 创建二极管、三极管等半导体器件的原理图Symbol库
  • AI辅助开发实战:基于cosyvoice 2的音色替换技术实现与优化
  • java+vue基于springboot框架的社区住户服务信息管理系统 社区便民服务系统
  • CANN Catlass 算子模板库深度解析:高性能矩阵乘(GEMM)原理、融合优化与模板化开发实践
  • java+vue基于springboot框架的农贸市场摊位 夜市摊位租赁系统设计与实现
  • 从零搭建智能客服问答系统dify:架构设计与工程实践
  • ChatTTS音色定制实战:从模型微调到生产环境部署
  • CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
  • 穿越时空的Verilog调试术:用时间系统任务重构数字世界的时间线
  • ChatTTS 本地 API 调用实战:从零搭建到性能调优
  • Magisk运行环境修复背后的技术原理与安全考量
  • ChatTTS语法入门指南:从零构建你的第一个语音交互应用
  • 智能客服对话数据集清洗与标注系统:从数据噪声到高质量语料库的实战指南
  • Docker跨架构配置稀缺资源包(含buildkit优化参数模板、multi-arch manifest校验工具、内核ABI对照速查表)——仅限前500名开发者领取
  • 如何利用AI辅助开发提升chatbot arena全球排名:从模型优化到实战部署
  • CANN GE 深度解析:图编译与执行引擎的优化管线、Stream 调度与模型下沉机制
  • 大模型智能客服问答系统的AI辅助开发实战:从架构设计到性能优化
  • 钉钉接入Dify工作流实现智能客服问答的技术实现与优化
  • AI 辅助开发实战:高效获取与处理‘大数据毕业设计数据集’的工程化方案
  • ChatGPT版本选择指南:从基础原理到生产环境部署的最佳实践
  • CANN GE 深度解析:图编译器与执行引擎的后端优化策略、OM 文件结构与 Stream 调度机制