c# 枚举ToString
时间: 2023-10-28 10:42:51 浏览: 318
在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#枚举与java枚举
C# 枚举(Enum)和 Java 枚举(enum)都是用于创建一组预定义常量的数据类型,它们通常用来表示分类、状态或其他有限的选项集合。以下是关于两者的一些共同点和差异:
**C# 枚举:**
1. C# 枚举声明以 `enum` 关键字开始,接着是枚举名称,然后是逗号分隔的常量,每个常量都有一个名字和对应的整数值,默认从零开始递增。
```csharp
enum Color { Red, Green, Blue }
```
2. 可以显式地给常量赋值,也可以使用 `ToString()` 方法获取字符串形式的值。
3. C# 支持枚举类型的隐式转换和显式转换。
**Java 枚举:**
1. Java 的 `enum` 关键字用于创建枚举类型,类似于 C#。
```java
public enum Color { RED, GREEN, BLUE }
```
2. Java 枚举中的成员默认有整数值(0, 1, 2...),也可以自定义整数值。
3. Java 遵循单例模式,所以枚举实例实际上共享相同的内存地址,可以用 `.valueOf()` 或者 `.name()` 获取实例。
**共同之处:**
1. 两者都提供了一种安全的方式来代替硬编码的整数值。
2. 它们都是不可变的,一旦创建就不能修改。
**区别:**
1. C# 的枚举可以包含方法,而 Java 的枚举则只能包含静态方法,不能包含实例方法。
2. Java 枚举的 `values()` 方法返回一个数组,可以直接遍历枚举的所有成员;C# 则需要通过索引来访问。
3. 初始化方面,C# 可以在枚举块内部初始化,而 Java 需要在类体外部定义变量再赋值给枚举常量。
阅读全文