C# 根据值获取对应的枚举类型
时间: 2023-10-02 19:09:52 浏览: 90
你可以使用 `Enum.Parse` 方法来根据值获取对应的枚举类型。该方法有两个参数,第一个参数是要获取的枚举类型,第二个参数是要解析的字符串值。例如,如果你有一个名为 `Color` 的枚举类型,其中包含 `Red`、`Green` 和 `Blue` 三个值,你可以使用以下代码将字符串值 `"Green"` 转换为对应的枚举类型:
```
Color greenColor = (Color)Enum.Parse(typeof(Color), "Green");
```
这将返回 `Color.Green` 枚举值。请注意,如果要解析的字符串值与枚举类型中的任何值都不匹配,则会引发 `ArgumentException` 异常。
相关问题
C#怎么根据枚举值获取枚举
在C#中,可以使用Enum.Parse方法来根据枚举值获取对应的枚举。Enum.Parse方法接受两个参数,第一个参数是要获取的枚举类型,第二个参数是要获取的枚举值的字符串表示。
下面是一个示例代码:
```csharp
enum Colors
{
Red,
Green,
Blue
}
class Program
{
static void Main(string[] args)
{
string colorString = "Green";
Colors color = (Colors)Enum.Parse(typeof(Colors), colorString);
Console.WriteLine(color); // 输出:Green
}
}
```
在上面的示例中,我们定义了一个枚举类型Colors,包含了Red、Green和Blue三个枚举值。然后使用Enum.Parse方法将字符串"Green"转换为对应的枚举值,并将结果赋值给color变量。
c# 内枚举对应变量int值获取
在 C# 中,可以使用枚举类型的 Parse 方法将字符串转换为枚举值,也可以使用 ToString 方法将枚举值转换为字符串。另外,每个枚举成员都有一个对应的整数值,可以使用强制类型转换将枚举值转换为整数值。
以下是一个示例代码,以说明如何获取枚举值对应的整数值:
```csharp
enum MyEnum {
Value1 = 10,
Value2 = 20,
Value3 = 30
};
MyEnum myValue = MyEnum.Value2;
int intValue = (int)myValue; // 将枚举值转换为整数值
Console.WriteLine(intValue); // 输出:20
```
在上面的代码中,我们定义了一个枚举类型 `MyEnum`,其中每个成员都有一个对应的整数值。然后,我们将枚举值 `Value2` 赋给变量 `myValue`,并使用强制类型转换将其转换为整数值。最后,我们输出了整数值,结果为 `20`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)