可能重复:
How do I Convert a string to an enum in C#?
Enums returning int value
我已经声明了一个枚举: -
public enum Car
{
SELECT = 0,
AUDI = 1,
NISSAN = 2,
HONDA = 3,
LINCOLN = 4
}
现在我需要枚举的枚举的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
我如何获得枚举的价值?更好的编码实践。
答案 0 :(得分:6)
答案 1 :(得分:3)
简单地将你的枚举转换为int,如
int i=(int)Car.Audi;
这将给你1
int i=(int)Car.Select;
这会给你0
答案 2 :(得分:3)
var result = (int)System.Enum.Parse(typeof(Car), carName)
http://msdn.microsoft.com/en-us/library/essfb559.aspx
这取代了您的GetCarType
功能。您不再需要迭代枚举名称。
答案 3 :(得分:1)
int i = (int) Enum.Parse(typeof(Car), "AUDI");