c#枚举怎么转换成字符串

avatar
作者
猴君
阅读量:0

在C#中,可以使用ToString()方法将枚举转换为字符串。以下是一个示例:

enum Color {     Red,     Blue,     Green }  Color color = Color.Blue; string colorString = color.ToString();  Console.WriteLine(colorString); // 输出 "Blue" 

还可以使用Enum.GetName()方法来获取枚举成员的名称:

enum Color {     Red,     Blue,     Green }  Color color = Color.Green; string colorString = Enum.GetName(typeof(Color), color);  Console.WriteLine(colorString); // 输出 "Green" 

需要注意的是,枚举成员的名称和字符串值是不同的。如果需要获取枚举成员的字符串值,可以使用Enum.GetValues()方法遍历枚举,并使用ToString()方法将每个枚举成员转换为字符串。以下是一个示例:

enum Color {     [Description("红色")]     Red,     [Description("蓝色")]     Blue,     [Description("绿色")]     Green }  Color color = Color.Blue; string colorString = GetEnumDescription(color);  Console.WriteLine(colorString); // 输出 "蓝色"  // 获取枚举成员的描述 public static string GetEnumDescription(Enum value) {     FieldInfo field = value.GetType().GetField(value.ToString());      DescriptionAttribute attribute = field.GetCustomAttributes(typeof(DescriptionAttribute), false)                                           .SingleOrDefault() as DescriptionAttribute;      return attribute != null ? attribute.Description : value.ToString(); } 

在上面的示例中,我们使用了一个DescriptionAttribute特性来为每个枚举成员添加了一个描述。然后,通过反射获取枚举成员的描述值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!