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

C#枚举类型的定义及其用法

一、枚举类型定义

枚举类型(enum)是 C# 中的一种值类型,用于定义一组命名的常量值

使用 enum 关键字定义,默认基础类型为 int,也可以显式指定其他整数类型(如 byteshortlong 等)。

基本语法:

enum 枚举名称 [ : 基础类型 ]
{成员1,成员2,...
}

示例:

enum Season
{Spring,    // 默认值为 0Summer,    // 默认值为 1Autumn,    // 默认值为 2Winter     // 默认值为 3
}

也可以写为这个:

  public enum eAddress{M = 144,L = 146,X = 156,Y = 157         }

也可以显式指定基础类型和成员值:

enum ErrorCode : ushort
{None = 0,Unknown = 1,ConnectionLost = 100,OutlierReading = 200
}

二、枚举的用法

1. 枚举变量的声明与赋值:

Season currentSeason = Season.Summer;
Console.WriteLine(currentSeason);          // 输出: Summer
Console.WriteLine((int)currentSeason);     // 输出: 1

2. 枚举与 switch 语句:

switch (currentSeason)
{case Season.Spring:Console.WriteLine("春天");break;case Season.Summer:Console.WriteLine("夏天");break;case Season.Autumn:Console.WriteLine("秋天");break;case Season.Winter:Console.WriteLine("冬天");break;
}

3. 枚举与字符串的转换:

// 枚举转字符串
string seasonStr = currentSeason.ToString(); // "Summer"// 字符串转枚举
bool success = Enum.TryParse("Autumn", out Season result);
if (success)Console.WriteLine(result); // Autumn

4.枚举的值存入数组:

enum eAddress : byte   // 底层类型是 byte
{Beijing = 10,Shanghai = 20,Guangzhou = 30
}int[] values = Enum.GetValues(typeof(eAddress)).Cast<int>()   // 这里转成 int.ToArray();// 结果:values = { 10, 20, 30 }

http://www.xdnf.cn/news/19660.html

相关文章:

  • WS2812灯带效果设计器上位机
  • 微服务的编程测评系统19-我的消息功能-竞赛排名功能
  • ChartView的基本使用
  • 【学Python自动化】 7.1 Python 与 Rust 输入输出对比学习笔记
  • Linux系统shell脚本(二)
  • 【Python - 基础 - 工具】解决pycharm“No Python interpreter configured for the project”问题
  • 机器学习入门,支持向量机
  • Vite + React + Tailwind v4 正确配置指南(避免掉进 v3 的老坑)
  • 为什么程序员总是发现不了自己的Bug?
  • Flutter 3.35.2 主题颜色设置指南
  • 使用 qmake 生成 Makefile,Makefile 转换为 Qt 的 .pro 文件
  • Redis核心数据类型解析——string篇
  • 基于YOLO8的番茄成熟度检测系统(数据集+源码+文章)
  • 2025年女性最实用的IT行业证书推荐:赋能职业发展的8大选择
  • Elasticsearch面试精讲 Day 5:倒排索引原理与实现
  • IoTDB对比传统数据库的五大核心优势
  • 深度估计:单目视觉实现车距测量和车速估计(含完整项目代码)
  • ubantu20.04 git clone 无法连接问题与解决方法
  • netstat用法
  • 别再让分散 IO 拖慢性能!struct iovec:高效处理聚集 IO 的底层利器
  • pikachu之 unsafe upfileupload (不安全的文件上传漏洞)
  • 力扣hot100:除自身以外数组的乘积(除法思路和左右前缀乘积)(238)
  • 毕业项目推荐:70-基于yolov8/yolov5/yolo11的苹果成熟度检测识别系统(Python+卷积神经网络)
  • 【无人机三维路径规划】基于遗传算法GA结合粒子群算法PSO无人机复杂环境避障三维路径规划(含GA和PSO对比)研究
  • 基于单片机醉酒驾驶检测系统/酒精检测/防疲劳驾驶设计
  • 基于单片机雏鸡孵化恒温系统/孵化环境检测系统设计
  • WPF启动窗体的三种方式
  • 【Day 42】Shell-expect和sed
  • 【python】lambda函数
  • Ubuntu 24.04 服务器配置MySQL 8.0.42 三节点集群(一主两从架构)安装部署配置教程