C#(C Sharp)学习笔记_Enum枚举类型【十三】
什么是枚举类型
- 枚举类型(Enum) 是由基础整型数值类型的一组命名常量定义的值类型。
- 枚举包含自己的值,但不能继承或传递继承。
语法
// enum enum_name
// enum_name variable = enum_name.enum_value// 定义一个枚举类型——例如:
enum enum_name
{value_1,value_2,value_3,value_4
}
enum enum_name {value_1, value_2, value_3, value_4}
- enum表示声明为枚举类型,Drink为枚举名,花括号内为枚举值
- 枚举不能定义在方法内。
- 枚举名用于指定枚举的类型名称,在方法中可以被当中类型来使用。
- 若有多个枚举值,则用逗号来分隔开来。
接收和输出枚举值
- 枚举类型是由基础整型数值类型的一组命名常量定义的值类型。
- 枚举类型一旦被定义,则无法修改枚举值,因为里面的值为常量。
- 前面已经说过如何定义,所以我们直接来实例:
using System;
namespace Enum_Project
{public class Program{//定义一个枚举类型enum Drink {MilkTea, CocaCola, BlackCoffee, MangoJuice}public static void Main(string[] args){// 接收值Drink client = Drink.CocaCola;// 输出值Console.WriteLine(client);}}
}
>>> CocaCola
关联数值转换
- 一般来讲,我们只能通过枚举的基本值来获取内容,但其实每个值都有一个对于的数值,就和String类型的index索引一样。
- 比如我们定义一个枚举类型enum a {我, 是, 帅, 哥},其中“我”对应的就是数值0,“哥”对应的是数值3。
- 但要注意的是,我们无法直接用和索引一样的方法来获取枚举值,我们需要通过数值的显示转换才可以。
对于任何枚举类型,枚举类型与其基础整型类型之间存在显式转换。 如果将枚举值转换为其基础类型,则结果为枚举成员的关联整数值。
- 话不多说,我们直接用实例来观察:
using System;
namespace Enum_Project
{public class Program{//定义一个枚举类型enum Drink {MilkTea, CocaCola, BlackCoffee, MangoJuice}public static void Main(string[] args){// 显示转换并输出值Console.WriteLine((Drink)2); // 输出数值“2”对应的值Console.WriteLine((int)Drink.MangoJuice); // 输出值对应的数值}}
}
>>> BlackCoffee
>>> 3
- 可以发现,当我们转化为对于的数值2时,输出的就是第三个枚举值。
Switch实际应用
- 枚举类型用在Switch语句内,在合适不过了,因为枚举类型是定值,值为常量。
using System;namespace Enum_Project
{public class Program{enum Drink {MilkTea, CocaCola, BlackCoffee, MangoJuice}public static void Main(string[] args){// Drink client = Drink.CocaCola;// Console.WriteLine((int)Drink.MangoJuice); Drink Client = Drink.CocaCola;switch (Client){case Drink.MilkTea:Console.WriteLine("您点了一杯奶茶");break;case Drink.CocaCola:Console.WriteLine("您点了一瓶可口可乐");break;case Drink.BlackCoffee:Console.WriteLine("您点了一杯黑咖啡");break;case Drink.MangoJuice:Console.WriteLine("您点了一杯芒果汁");break;}}}
}
>>> 您点了一瓶可口可乐
相关文章:
C#(C Sharp)学习笔记_Enum枚举类型【十三】
什么是枚举类型 枚举类型(Enum) 是由基础整型数值类型的一组命名常量定义的值类型。枚举包含自己的值,但不能继承或传递继承。 语法 // enum enum_name // enum_name variable enum_name.enum_value// 定义一个枚举类型——例如: enum enum_name {va…...
乐知付-如何制作html文件可双击跳转到指定页面?
标题: 乐知付-如何制作html文件可双击跳转到指定页面? 标签: [乐知付, 乐知付加密, 密码管理] 分类: [网站,html] 为了便于买家理解使用链接进行付费获取密码;现开发个小工具,将支付链接转为浏览器可识别的文件,双击打开即可跳转到…...
电工技术学习笔记——直流电路及其分析方法
一、直流电路 电路的组成 1. 电压和电流的参考方向 电压(Voltage):电压是电场力对电荷产生的作用,表示为电荷单位正电荷所具有的能量。在电路中,电压通常被定义为两点之间的电势差,具有方向性,…...
详解python中的迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完…...
机器学习模型——集成算法(三)
前面我们说了bagging算法和Boosting算法 接下来我们学习Adaboost算法 Adaboost基本概念: AdaBoost (Adaptive Boosting,自适应提升): 算法原理是将多个弱学习器进行合理的结合,使其成为一个强学习器。 Adaboost采用…...
企业微信企业主体变更认证介绍
企业微信变更主体有什么作用? 说一个自己亲身经历的事情,当时我在一家教育公司做运营,公司所有客户都是通过企业微信对接的。后来行业整顿,公司不得不注销,换了营业执照打算做技能培训,但发现注销后原来的企…...
如何降低AI功耗? —— 超低功耗的仿生硬件
一、背景 仿生硬件(Bionic Hardware)这一术语通常指的是受自然界的生物系统启发而设计制造的电子或机械硬件设备,它们在功能、结构、材料、能源效率等方面模仿生物体的特性,以实现更高效、智能、自适应或环境友好的性能。在人工智…...
原型模式详解
原型模式简单的理解来说,就是复制品,用一个已经做好的成品作为原型,然后通过复制它得到新的产品。就好像细胞分裂一样。用Java来说,就是用对象创建对象,而不是通过类来创建对象。 原型模式的目的是从原型实例克隆出新的实例 ,对于那些有非常复杂的初始化过程的对象或者是…...
嵌入式开发中状态模式实现
文章目录 状态模式代码实现代码解释小结 状态模式 状态模式(State Pattern)是一种行为设计模式,它允许对象在内部状态改变时改变它的行为。在嵌入式系统中,状态模式尤其适用于那些根据外部事件或内部条件频繁改变状态并且每种状态…...
目标检测——车牌数据集
一、重要性及意义 交通安全与管理:车牌检测和识别技术有助于交通管理部门快速、准确地获取车辆信息,从而更有效地进行交通监控和执法。例如,在违规停车、超速行驶等交通违法行为中,该技术可以帮助交警迅速锁定违规车辆࿰…...
FOC算法中为啥用PWM触发ADC中断
在FOC(Field Oriented Control,场向量控制)算法中,为什么要使用PWM(Pulse Width Modulation,脉宽调制)触发ADC(Analog-to-Digital Converter,模数转换器)中断…...
2024.4.5学习记录————嵌入式学习内容
2024.4.5学习记录————嵌入式学习内容 C语言 指针,位操作,结构体字节对齐,位段,宏的高级运用 C 基础特性:类,对象,派生,继承,运算符重载,友元…...
k8s 部署 canal 集群,RocketMQ 模式
k8s 部署 canal 集群,RocketMQ 模式 k8s 部署 canal 集群,RocketMQ 模式前提MySQLRocketMQ制作 canal-admin、canal-server 镜像 部署 zookeeper部署 canal-admin部署 canal-server测试 k8s 部署 canal 集群,RocketMQ 模式 前提 MySQL 开启…...
Android+OnnxRuntime+Opencv+Onnx模型操作图片擦除多余内容
今年来AI的发展非常迅速,在工业、医疗等等行业逐渐出现相应的解决方案,AI也逐渐成为各行业基础设施建设重要的一环,未来发展的大趋势,不过这也需要一个漫长的过程,需要很多技术型人才加入其中,除了工业设施的基础建设,在娱乐方向也有很多有趣的能力,不如图片/视频换背景…...
【CANoe】CAPL_E2E测试-验证报文中的CRC值是否正确
文章目录 一、背景二、CRC校验算法实现_dll制作三、CAPL脚本编写四、测试结果4.1、Write输出窗口4.2、测试报告截图一、背景 在嵌入式软件开发过程中,对于一些报文,需要实现安全发送与安全接收,这就涉及到CRC和RollingCounter。整车和MCU通讯的报文需要对方进行校验才能正确…...
Linux云计算之网络基础8——IPV6和常用网络服务
目录 一、IPV6基础 IPV6详解 IPv6数据报的基本首部 IPv6数据报的扩展首部 IPv6地址的表示方法 IPv6地址分类 网际控制报文协议ICMPv6 二、cisco基于IPV6的配置 cisco基于IPV6的配置步骤 模拟配置 三、HTML基础介绍 文档的结构 动手操作一下 四、常用网络服务介绍…...
页面刚加载的时候显示自己定义的{{***}}然后一闪而过
这时候别用插值表达式语法了,直接用v-text或者v-html就能解决这个问题 但是有个问题,如下图所示: 具体bind使用方式,如下图所示: 但是v-bind也可以进行简写,就是去掉v-bind,直接写:…...
python批量转化pdf图片为jpg图片
1.把pdf图片批量转为jpg;需要注意的是,需要先安装poppler这个软件,具体安装教程放在下面代码中了 2.代码 #poppler安装教程参考:https://blog.csdn.net/wy01415/article/details/110257130 #windows上poppler下载链接:…...
玫瑰图和雷达图(自备)
目录 玫瑰图 数据格式 绘图基础 绘图升级(文本调整) 玫瑰图 下载数据data/2020/2020-11-24 mirrors_rfordatascience/tidytuesday - 码云 - 开源中国 (gitee.com) R语言绘图—南丁格尔玫瑰图 - 知乎 (zhihu.com) 数据格式 rm(list ls()) libr…...
动态规划基础
动态规划 1、动态规划的概念 简称DP,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。 简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。然后把子问题答案保存起来,以减少重复计算…...
智能排错助手:让快马AI分析你的openclaw安装错误并生成解决方案
最近在折腾openclaw这个工具时,遇到了不少安装报错的问题。作为一个经常在各类开发环境中摸爬滚打的程序员,我发现这类开源工具的安装过程往往隐藏着不少坑。不过这次尝试用AI辅助诊断后,整个排错效率提升了不少,这里记录下我的实…...
冥想第一千八百三十三天(1833)
1.昨天晚上电动车刹车终于修好了,刹车更紧了,今天的天气很热了,明天就还薄款的运动衣。 2.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。...
【Nano Bana】谷歌风格智能手表UI界面
谷歌风格智能手表UI提示词(专业工程版设计/开发专用) 在嵌入式智能手表UI设计与开发过程中,符合行业规范且适配开发需求的提示词,是高效生成可用界面、对接GUI框架的关键。本文汇总了适配Nano Banana工具的谷歌风格智能手表UI提示…...
【递归算法】全排列 Ⅱ
题目链接 文章摘要: 本文解析了LeetCode上"全排列II"问题,要求在包含重复数字的数组中返回所有不重复的全排列。通过分析决策树,指出需在标准全排列解法基础上增加剪枝策略,避免重复结果。详细讲解了两种剪枝思路&#…...
用Artisan构建专业级咖啡烘焙解决方案:从数据采集到品质优化的全流程指南
用Artisan构建专业级咖啡烘焙解决方案:从数据采集到品质优化的全流程指南 【免费下载链接】artisan artisan: visual scope for coffee roasters 项目地址: https://gitcode.com/gh_mirrors/ar/artisan 在咖啡产业数字化转型的浪潮中,专业烘焙师正…...
告别内存焦虑:用DiskANN在单机上搞定十亿向量检索的完整配置与调优指南
告别内存焦虑:用DiskANN在单机上搞定十亿向量检索的完整配置与调优指南 当你的推荐系统需要处理超过1亿条商品特征向量,或是生物医药团队要匹配数十亿分子结构时,传统内存索引方案会让服务器内存条价格直接突破年度预算。这时DiskANN就像一位…...
【ybtoj】【KMP】【例题1】子串查找
【例题1】子串查找Link解题思路CodeLink 传送门 题目 解题思路 kmp模板题 找了超级多篇KMP的博客,一直都看不懂 直到……直到我找到了光(bushi) 这篇博客直接把我升华 Code #include <iostream> #include <cstring> #include…...
嵌入式行业职业发展路径
嵌入式行业职业规划:技术→管理→经营→投资 这个路径代表了嵌入式从业者从执行者到决策者、从专业人才到复合型领袖的典型进阶之路。以下分阶段详解每个层级的核心任务、能力要求及转型关键。第一阶段:技术深耕(0-5年) 核心定位&…...
从CTF逆向实战出发:手把手教你用Python脚本破解RC4和Base58加密(附完整代码)
从CTF逆向实战出发:手把手教你用Python脚本破解RC4和Base58加密(附完整代码) 在CTF竞赛中,逆向工程题目往往涉及各种加密算法的识别与破解。本文将聚焦两种常见加密方式——RC4和Base58,通过Python脚本实现从算法识别到…...
平衡小车/倒立摆核心:用STM32CubeMX和串级PID实现精准角度控制,调参避坑指南
平衡小车与倒立摆实战:STM32CubeMX串级PID调参全解析 平衡控制系统一直是嵌入式开发者的试金石。去年校电赛上,我亲眼见证一支队伍因为PID参数整定不当,导致他们精心设计的倒立摆在演示时像喝醉了一样左右摇摆,最终与奖项失之交臂…...
