C#教程(五):枚举

1、什么是枚举

枚举(Enum)是一种用于定义命名常量集合的数据类型。它允许开发人员创建一个命名的整数常量集合,这些常量可以在代码中代表特定的值。

2、示例

以下是一个简单的枚举示例:

c 复制代码
// 定义一个枚举类型
enum DaysOfWeek
{
    Sunday,    // 默认值为0
    Monday,    // 默认值为1
    Tuesday,   // 默认值为2
    Wednesday, // 默认值为3
    Thursday,  // 默认值为4
    Friday,    // 默认值为5
    Saturday   // 默认值为6
}

在上面的示例中,DaysOfWeek 枚举定义了一周中的每一天,并且每个枚举值都有一个默认的整数值,从0开始递增。

使用枚举时可以这样赋值和访问:

c 复制代码
DaysOfWeek today = DaysOfWeek.Friday; // 赋值一个枚举值给变量
Console.WriteLine(today); // 输出:Friday

int dayValue = (int)DaysOfWeek.Wednesday; // 获取枚举值的整数表示
Console.WriteLine(dayValue); // 输出:3

3、注意

  • 默认情况下,枚举的第一个元素的值为0,后续元素的值依次递增。
  • 可以将枚举值强制转换为整数类型,也可以将整数类型强制转换为枚举值。
  • 枚举是值类型,可以作为方法的参数和返回值。
  • 可以使用 Enum.Parse 方法将字符串转换为枚举值,或使用 Enum.GetNameEnum.GetNames 获取枚举的名称和名称列表。

Enum.Parse的用法

c 复制代码
string input = "Wednesday";
DaysOfWeek day;

// 将字符串转换为枚举值
if (Enum.TryParse(input, out day))
{
    Console.WriteLine($"今天是: {day}");
}
else
{
    Console.WriteLine("星期八");
}

如果输入字符串与枚举中的任何一个值匹配,Enum.Parse 将返回相应的枚举值。在这个示例中,如果输入字符串是 Wednesday,它将被解析为 DaysOfWeek.Wednesday

Enum.GetName的用法

c 复制代码
// 获取枚举值的名称
            string dayName = Enum.GetName(typeof(DaysOfWeek), 3); // 传入枚举类型和整数值
            Console.WriteLine(dayName); // 输出:Wednesday

EnumGetNames的用法

c 复制代码
// 获取枚举类型的所有名称
            string[] allDays = Enum.GetNames(typeof(DaysOfWeek)); // 传入枚举类型,返回包含所有名称的数组
            foreach (var day in allDays)
            {
                Console.WriteLine(day);
            }

输出结果

枚举类型在编程中常用于提高代码的可读性和维护性,特别是当需要使用一组相关的常量时,使用枚举可以使代码更具有表现力和清晰度。

相关推荐
二哈喇子!1 小时前
BOM模型
开发语言·前端·javascript·bom
二哈喇子!1 小时前
空指针异常
开发语言
咚为1 小时前
Rust Print 终极指南:从底层原理到全场景实战
开发语言·后端·rust
%xiao Q1 小时前
GESP C++五级-202406
android·开发语言·c++
Psycho_MrZhang1 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
Traced back2 小时前
# C# + SQL Server 实现自动清理功能的完整方案:按数量与按日期双模式
开发语言·c#
sin22012 小时前
MyBatis的执行流程
java·开发语言·mybatis
web3.08889992 小时前
1688图片搜索API,相似商品精准推荐
开发语言·python
二哈喇子!2 小时前
JAVA环境变量配置步骤及测试(JDK的下载 & 安装 & 环境配置教程)
java·开发语言
少云清2 小时前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter