c# 枚举ToString
时间: 2023-10-28 19:42:51 浏览: 53
在C#中,可以使用枚举类型的ToString()方法将枚举值转换为字符串。这个方法会返回枚举值的名称。
下面是一个示例:
```csharp
enum Colors
{
Red,
Green,
Blue
}
static void Main()
{
Colors color = Colors.Green;
string colorString = color.ToString();
Console.WriteLine(colorString); // 输出 "Green"
}
```
在上面的示例中,我们定义了一个枚举类型Colors,它包含三个枚举值:Red、Green和Blue。然后我们将枚举值Colors.Green转换为字符串,并将结果输出到控制台。结果会显示为"Green"。
相关问题
枚举 tostring
枚举是一种常用的数据类型,用于定义一组具有相同类型的常量。在 C# 中,枚举类型默认情况下会继承自 System.Enum 类,因此可以使用 Enum 类中的方法,包括 ToString() 方法。
ToString() 方法可以将枚举类型的值转换为字符串表示,例如:
```
enum Color {
Red,
Green,
Blue
}
Color myColor = Color.Red;
Console.WriteLine(myColor.ToString()); // 输出 "Red"
```
上述代码中,将枚举类型 Color 中的一个常量值赋值给 myColor 变量,并使用 ToString() 方法将其转换为字符串输出。
需要注意的是,默认情况下 ToString() 方法返回的字符串是枚举常量的名称,即 "Red"、"Green" 或 "Blue",而非它们对应的整数值。如果需要获取枚举常量的整数值,可以使用强制类型转换或 Convert 类中的方法。
c#枚举自定义字符串类型
在 C# 中,我们可以使用 Description 特性来为枚举成员自定义字符串值,以便更好地描述该枚举成员。
下面是一个示例代码:
```
using System;
using System.ComponentModel;
enum Fruit
{
[Description("This is an apple")]
Apple,
[Description("This is a banana")]
Banana,
[Description("This is an orange")]
Orange
}
class Program
{
static void Main(string[] args)
{
Fruit myFruit = Fruit.Banana;
// 使用 GetDescription 方法获取枚举成员的描述
string myFruitString = GetDescription(myFruit);
Console.WriteLine(myFruitString);
}
// 通过反射获取枚举成员的描述
static string GetDescription(Enum value)
{
var fieldInfo = value.GetType().GetField(value.ToString());
var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
return attributes.Length > 0 ? attributes[0].Description : value.ToString();
}
}
```
输出结果为:
```
This is a banana
```
可以看到,我们通过在枚举成员上标记 Description 特性来自定义字符串值,然后使用 GetDescription 方法获取该枚举成员的描述。