C# 枚举(Enum)学习笔记

枚举是一种特殊的值类型,它表示固定数量的命名常量。在C#中,枚举类型由一个标识符列表和一个基础类型组成。

枚举的定义

在C#中,可以使用以下语法定义枚举:

csharpCopy Code
enum EnumName { Value1, Value2, // ... }

其中,EnumName 为枚举类型名称,Value1Value2 等为枚举成员名称。默认情况下,第一个枚举值的基础值为0,后面的枚举值依次递增1。例如:

csharpCopy Code
enum DaysOfWeek { Sunday, // 0 Monday, // 1 Tuesday, // 2 Wednesday, // 3 Thursday, // 4 Friday, // 5 Saturday // 6 }

也可以显式地指定枚举成员的值:

csharpCopy Code
enum Temperature { Cold = 0, Warm = 50, Hot = 100 }

枚举的使用

可以使用枚举类型定义变量,表示一个特定的枚举值:

csharpCopy Code
DaysOfWeek today = DaysOfWeek.Monday;

也可以将枚举值转换为其基础类型的值:

csharpCopy Code
int todayValue = (int)DaysOfWeek.Monday;

可以使用 Enum 类提供的方法获取枚举类型的相关信息:

csharpCopy Code
int enumCount = Enum.GetNames(typeof(DaysOfWeek)).Length; // 获取枚举成员数量 string enumName = Enum.GetName(typeof(DaysOfWeek), 3); // 获取枚举成员名称 bool isDefined = Enum.IsDefined(typeof(DaysOfWeek), "Sunday"); // 判断是否定义了指定的枚举成员

枚举的实例

以下是一个简单的枚举示例,表示三种颜色:

csharpCopy Code
enum Color { Red, Green, Blue }

可以使用枚举类型定义变量:

csharpCopy Code
Color myColor = Color.Green;

也可以将枚举值转换为其基础类型的值:

csharpCopy Code
int myColorValue = (int)Color.Green;

可以使用 Enum 类提供的方法获取枚举类型的相关信息:

csharpCopy Code
int enumCount = Enum.GetNames(typeof(Color)).Length; // 获取枚举成员数量 string enumName = Enum.GetName(typeof(Color), 2); // 获取枚举成员名称 bool isDefined = Enum.IsDefined(typeof(Color), "Yellow"); // 判断是否定义了指定的枚举成员