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,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。常常适用于有重叠子问题和最优子结构性质的问题。 简单来说,就是给定一个问题,把它拆成一个个子问题,查到子问题可以直接解决。然后把子问题答案保存起来,以减少重复计算…...
轻量级注意力新范式:ECA-Net如何用一维卷积重塑通道交互
1. 从SE-Net到ECA-Net:通道注意力的轻量化革命 在计算机视觉领域,注意力机制就像给神经网络装上了"智能探照灯",让模型能够自动聚焦在最重要的特征上。SE-Net(Squeeze-and-Excitation Network)作为通道注意力…...
三步解锁你的加密音乐:QMC解码器完全指南
三步解锁你的加密音乐:QMC解码器完全指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过这样的情况:从QQ音乐下载的歌曲只能在特定…...
MouseClick终极指南:简单免费的鼠标自动化工具完全教程
MouseClick终极指南:简单免费的鼠标自动化工具完全教程 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 ,…...
从点灯到工程模板:TMS320F28335项目文件结构最佳实践与APP文件夹管理
从点灯到工程模板:TMS320F28335项目文件结构最佳实践与APP文件夹管理 当你第一次让TMS320F28335开发板上的LED闪烁时,那种成就感无与伦比。但随着项目复杂度提升——PWM波形生成、ADC采样、通信协议栈叠加进来——原本简单的工程很快会变成一团乱麻。我曾…...
Torch-Pruning:基于DepGraph的PyTorch结构化模型剪枝实战指南
1. 项目概述与核心价值 如果你正在为部署一个庞大的深度学习模型而发愁,看着动辄几十上百亿的参数和令人咋舌的算力需求感到束手无策,那么“模型剪枝”这项技术很可能就是你一直在寻找的解决方案。简单来说,模型剪枝就像给一棵枝繁叶茂的大树…...
LayerDivider:用AI智能算法重新定义图像分层技术
LayerDivider:用AI智能算法重新定义图像分层技术 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 在数字设计领域,图像分层是创意工…...
Recaf Java字节码编辑器:快速上手与指令搜索实战指南
Recaf Java字节码编辑器:快速上手与指令搜索实战指南 【免费下载链接】Recaf The modern Java bytecode editor 项目地址: https://gitcode.com/gh_mirrors/re/Recaf Recaf是一款现代化的Java字节码编辑器,它简化了Java程序分析的复杂性ÿ…...
视频赋能实景 厘米级构筑孪生底座 ——纯视频三维反演技术,重塑数字孪生与视频孪生底层技术架构
视频赋能实景 厘米级构筑孪生底座——纯视频三维反演技术,重塑数字孪生与视频孪生底层技术架构前言数字孪生与视频孪生产业历经多轮迭代,始终未能突破底层技术依赖硬件、实景还原精度不足、虚实融合浅层化、底座搭建成本高昂的核心桎梏。传统方案依托激光…...
不是解的解【牛客tracker 每日一题】
不是解的解 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有…...
Baserow 自建:开源的 Airtable 替代品,无代码数据库
Baserow 自建:开源的 Airtable 替代品,无代码数据库 Airtable 是一款把电子表格和数据库结合在一起的产品,但按行收费、数据存在别人服务器。Baserow 是完全开源的 Airtable 替代品,自己部署就能用,数据完全自控&#…...
