C# 枚举(Enum)学习笔记
枚举是一种特殊的值类型,它表示固定数量的命名常量。在C#中,枚举类型由一个标识符列表和一个基础类型组成。
枚举的定义
在C#中,可以使用以下语法定义枚举:
csharpCopy Codeenum EnumName
{
Value1,
Value2,
// ...
}
其中,EnumName
为枚举类型名称,Value1
、Value2
等为枚举成员名称。默认情况下,第一个枚举值的基础值为0,后面的枚举值依次递增1。例如:
csharpCopy Codeenum DaysOfWeek
{
Sunday, // 0
Monday, // 1
Tuesday, // 2
Wednesday, // 3
Thursday, // 4
Friday, // 5
Saturday // 6
}
也可以显式地指定枚举成员的值:
csharpCopy Codeenum Temperature
{
Cold = 0,
Warm = 50,
Hot = 100
}
枚举的使用
可以使用枚举类型定义变量,表示一个特定的枚举值:
csharpCopy CodeDaysOfWeek today = DaysOfWeek.Monday;
也可以将枚举值转换为其基础类型的值:
csharpCopy Codeint todayValue = (int)DaysOfWeek.Monday;
可以使用 Enum
类提供的方法获取枚举类型的相关信息:
csharpCopy Codeint enumCount = Enum.GetNames(typeof(DaysOfWeek)).Length; // 获取枚举成员数量
string enumName = Enum.GetName(typeof(DaysOfWeek), 3); // 获取枚举成员名称
bool isDefined = Enum.IsDefined(typeof(DaysOfWeek), "Sunday"); // 判断是否定义了指定的枚举成员
枚举的实例
以下是一个简单的枚举示例,表示三种颜色:
csharpCopy Codeenum Color
{
Red,
Green,
Blue
}
可以使用枚举类型定义变量:
csharpCopy CodeColor myColor = Color.Green;
也可以将枚举值转换为其基础类型的值:
csharpCopy Codeint myColorValue = (int)Color.Green;
可以使用 Enum
类提供的方法获取枚举类型的相关信息:
csharpCopy Codeint enumCount = Enum.GetNames(typeof(Color)).Length; // 获取枚举成员数量
string enumName = Enum.GetName(typeof(Color), 2); // 获取枚举成员名称
bool isDefined = Enum.IsDefined(typeof(Color), "Yellow"); // 判断是否定义了指定的枚举成员