将枚举转换为字符串使用ToString()方法,如Color.Red.ToString()得"Red";转整数通过(int)强制转换,如(int)Color.Green得1;从字符串解析用Enum.TryParse,可忽略大小写安全转换。

在 .NET 中,将枚举(Enum)转换为字符串或整数是常见操作,处理方式简单直接。下面介绍几种常用方法。
将枚举转换为字符串
使用 ToString() 方法可以将枚举值转换为其对应的名称字符串。
- 枚举的默认值会以命名形式输出,例如 "Red"。
- 如果需要获取描述性文本(如中文名称),可结合 DescriptionAttribute 使用反射,但基础转换只需 ToString()。
示例代码:
enum Color { Red, Green, Blue }
Color color = Color.Red;
string colorName = color.ToString(); // 结果:"Red"
将枚举转换为整数
枚举本质上是整型的封装,可通过强制类型转换将其转为整数。
- 默认情况下,枚举从 0 开始递增赋值。
- 也可以显式指定值,如 Red = 1。
示例代码:
enum Color { Red, Green, Blue }
Color color = Color.Green;
int value = (int)color; // 结果:1
若枚举定义时指定了数值:
enum Status { Pending = 1, Approved = 2, Rejected = 3 }
Status status = Status.Approved;
int statusCode = (int)status; // 结果:2
从字符串解析回枚举
使用 Enum.Parse 或 Enum.TryParse 可将字符串转为枚举值,适用于配置或用户输入场景。
示例:
string input = "Green";
if (Enum.TryParse(input, out Color parsedColor))
{
Console.WriteLine(parsedColor); // 输出:Green
}
注意大小写敏感问题,必要时传入 true 表示忽略大小写:
Enum.TryParse(input, true, out Color result);基本上就这些。转换字符串用 ToString(),转整数用 (int) 强制转换,反过来则用 TryParse 安全解析。不复杂但容易忽略类型安全和异常处理。










