.NET怎么将枚举(Enum)转换为字符串或整数

来源:这里教程网 时间:2026-02-21 17:31:40 作者:

在 .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.ParseEnum.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 安全解析。不复杂但容易忽略类型安全和异常处理。

相关推荐

热文推荐