如何将字符串转换为枚举值为整数?
可能重复:
如何将字符串转换为C#中的枚举?
枚举返回int值
我已经声明了一个枚举: -
public enum Car
{
SELECT = 0,
AUDI = 1,
NISSAN = 2,
HONDA = 3,
LINCOLN = 4
}
现在我需要enum的int值,它匹配: -
private int GetCarType(string CarName)
{
foreach(var item in Enum.GetNames(typeof(Car))
{
if (item.ToLower().Equals(CarName.ToLower()))
//return int value of Enum of matched item; ???????
}
预期结果: -
int i = GetCarType(CarName); //suppose CarName is AUDI, it should return 1;
Console.write(i);
Result :- 1
我将如何获得枚举的价值? 更好的编码实践。
var result = (int)System.Enum.Parse(typeof(Car), carName)
http://msdn.microsoft.com/en-us/library/essfb559.aspx
这取代了你的GetCarType
功能。 您不必再遍历枚举名称。
如果要将字符串转换为枚举,则应该使用Enum.Parse而不是迭代名称。
然后只需转换成一个整数:
var iAsInteger = (Int32)i;
简单地把你的枚举像int一样
int i=(int)Car.Audi;
这会给你1
int i=(int)Car.Select;
这会给你0
链接地址: http://www.djcxy.com/p/91783.html上一篇: How do I convert a string to an enum value to an integer?