C#枚举类型的定义及其用法
一、枚举类型定义
枚举类型(enum)是 C# 中的一种值类型,用于定义一组命名的常量值。
使用 enum
关键字定义,默认基础类型为 int
,也可以显式指定其他整数类型(如 byte
、short
、long
等)。
基本语法:
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 }