如何通过提供字符串值在变量中获取枚举的整数值

20 浏览
0 Comments

如何通过提供字符串值在变量中获取枚举的整数值

这是我的枚举代码:

enum 温度 
{ 
    低 = 2, 
    中, 
    高, 
};
温度 值 = 温度.中; 
int 值 = (int)值; 
Console.WriteLine("温度值是.." + 值);
输出结果为:温度值是.. 3

现在我想要相同的输出为3,但不想使用温度.中,而是希望将"中"作为变量传递给值。

我该如何做到这一点?

这是否可行?

0
0 Comments

问题出现的原因:

在某些情况下,我们可能需要通过提供字符串值来获取枚举的整数值。然而,直接使用字符串值无法得到枚举的整数值。

解决方法:

我们可以使用System.Enum.Parse方法将字符串解析为枚举类型Temperature。然后,将解析后的枚举值强制转换为整数值。

以下是解决方法的示例代码:

Tempurature temperature = (Tempurature)System.Enum.Parse(typeof(Tempurature), "Medium", true);
Console.WriteLine("Temperature value is.." + (int)temperature);

在上述代码中,我们首先使用System.Enum.Parse方法将字符串"Medium"解析为Temperature枚举类型。然后,我们通过将解析后的枚举值强制转换为整数值,获取了枚举的整数值。

通过以上解决方法,我们可以通过提供字符串值来获取枚举的整数值。

0
0 Comments

问题的出现原因是在获取枚举类型的整数值时,需要提供一个字符串值的变量。以下是解决方法:

解决方法一:使用Enum.Parse方法

int enumValue = (int)Enum.Parse(typeof(EnumType), stringValue);

这种方法将字符串值转换为相应的枚举类型,并获取其整数值。

解决方法二:使用Enum.TryParse方法

EnumType enumValue;
Enum.TryParse(stringValue, out enumValue);
int intValue = (int)enumValue;

这种方法尝试将字符串值转换为相应的枚举类型,如果转换成功,则获取其整数值。

解决方法三:使用Enum.GetValues方法

int enumValue = (int)Enum.GetValues(typeof(EnumType)).GetValue(EnumType.enumValue);

这种方法通过获取枚举类型的所有值,并通过索引获取相应的整数值。

我们可以通过以上三种方法,根据提供的字符串值获取枚举类型的整数值。

0