C#中Enum.Tostring的用法是什么
时间: 2024-03-13 08:43:35 浏览: 331
C#中enum和string的相互转换
在C#中,Enum.ToString()方法用于将枚举常量转换为字符串表示形式。
语法:
```
public override string ToString ();
```
该方法返回一个字符串,表示当前枚举常量的名称。例如:
```
enum Color { Red, Green, Blue };
Color c = Color.Red;
Console.WriteLine(c.ToString()); // 输出 Red
```
如果需要自定义枚举常量的字符串表示形式,可以使用C#的特性(Attribute)来实现。例如:
```
enum Color {
[Description("红色")]
Red,
[Description("绿色")]
Green,
[Description("蓝色")]
Blue
};
Color c = Color.Red;
Console.WriteLine(GetDescription(c)); // 输出 红色
public static string GetDescription(Enum en)
{
Type type = en.GetType();
MemberInfo[] memInfo = type.GetMember(en.ToString());
if (memInfo != null && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute),false);
if (attrs != null && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return en.ToString();
}
```
在这个例子中,我们通过Description特性为枚举常量指定了字符串表示形式,并通过GetDescription()方法获取枚举常量的描述信息。
阅读全文