How do I convert a string to an enum value to an integer?
Possible Duplicate:
How do I Convert a string to an enum in C#?
Enums returning int value
I have declare an enumeration:-
public enum Car
{
SELECT = 0,
AUDI = 1,
NISSAN = 2,
HONDA = 3,
LINCOLN = 4
}
Now I need the int value of enum where it matches:-
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; ???????
}
Result expected:-
int i = GetCarType(CarName); //suppose CarName is AUDI, it should return 1;
Console.write(i);
Result :- 1
How will I get value of enum? And better coding practice.
var result = (int)System.Enum.Parse(typeof(Car), carName)
http://msdn.microsoft.com/en-us/library/essfb559.aspx
This replaces your GetCarType
function. You no longer have to iterate over the enum names.
If you are converting a string to an enum, you should use Enum.Parse rather than iterating over the names.
Then just cast to an integer:
var iAsInteger = (Int32)i;
simply cast your enum to int like
int i=(int)Car.Audi;
this will give you 1
int i=(int)Car.Select;
this will give you 0
链接地址: http://www.djcxy.com/p/91784.html上一篇: 如何从一个标志枚举中获取数值?
下一篇: 如何将字符串转换为枚举值为整数?