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);
            }

输出结果

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

相关推荐
Scout-leaf2 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530142 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools3 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的4 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
lindexi4 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言