How can I parse a string in VB.NET to enum value?
Example I have this enum:
Public Enum Gender
NotDefined
Male
Female
End Enum
Dim val = DirectCast([Enum].Parse(GetType(Gender), "Male"), Gender)
how can I convert a string "Male" to the Gender enum's Male value?
The accepted solution returns an Enum object. To return the value you want this solution:
dim MyGender as string = "Male"
dim Value as integer
Value = DirectCast([Enum].Parse(GetType(Gender), MyGender), Integer)
Can also do it this way:
value = cInt([enum].Parse(GetType(Gender), MyGender))
See Enum.TryParse.
If you want the parse to be case insensitive, you can use the following:
[Enum].Parse(Gender, DirectCast(MyGender, String), True)
This will handle dim MyGender as string = "Male"
or dim MyGender as string = "male"