c# 获取枚举值名称
时间: 2023-09-30 15:08:38 浏览: 11
在 C# 中获取枚举值名称可以使用 Enum.GetName() 方法,示例如下:
```csharp
enum MyEnum
{
Value1,
Value2,
Value3
}
MyEnum myEnum = MyEnum.Value2;
string enumName = Enum.GetName(typeof(MyEnum), myEnum);
Console.WriteLine(enumName); // 输出 Value2
```
也可以使用 Enum.GetNames() 方法获取所有枚举值的名称,示例如下:
```csharp
string[] enumNames = Enum.GetNames(typeof(MyEnum));
foreach (string name in enumNames)
{
Console.WriteLine(name);
}
// 输出 Value1
// 输出 Value2
// 输出 Value3
```
相关问题
C#通过枚举名称获取枚举的所有值
在C#中,如果你想要通过枚举名称获取该枚举的所有值,可以直接遍历枚举类型的所有成员。枚举本质上是一种特殊类型的常量集合,每个成员都有相应的整数值。下面是一个简单的示例:
```csharp
public enum MyEnum
{
Value1,
Value2,
Value3
}
// 获取MyEnum的所有值
foreach (var value in Enum.GetValues(typeof(MyEnum)))
{
Console.WriteLine(value.ToString()); // 输出:Value1, Value2, Value3
}
```
这段代码会打印出`MyEnum`所有枚举值的名称。如果你想直接根据名称获取对应的值,可以使用`Enum.Parse`或`Enum.TryParse`方法:
```csharp
string name = "Value1";
MyEnum parsedValue = Enum.Parse<MyEnum>(name); // 如果枚举名存在则成功解析
if (parsedValue != null)
{
Console.WriteLine(parsedValue);
}
else
{
Console.WriteLine($"无法找到名为'{name}'的枚举值");
}
```
c# 获取枚举指定索引的值
可以使用 `Enum.GetName()` 方法获取枚举中指定索引的名称,然后再使用 `Enum.Parse()` 方法将名称转换为对应的枚举值。示例代码如下:
```csharp
enum MyEnum
{
Value1,
Value2,
Value3
}
int index = 1;
string name = Enum.GetName(typeof(MyEnum), index);
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum), name);
```
在上面的例子中,`name` 变量将会被设置为 `"Value2"`,`value` 变量将会被设置为 `MyEnum.Value2`。
阅读全文