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.
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;
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 love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With