在VB.NET中将字符串解析为Enum值

时间:2009-05-12 10:34:18

标签: vb.net enums

如何解析VB.NET中的字符串以枚举值?

示例我有这个枚举:

Public Enum Gender
    NotDefined
    Male
    Female
End Enum

如何将字符串“Male”转换为Gender enum的Male值?

4 个答案:

答案 0 :(得分:120)

Dim val = DirectCast([Enum].Parse(GetType(Gender), "Male"), Gender)

答案 1 :(得分:18)

请参阅Enum.TryParse

答案 2 :(得分:4)

  

如何将字符串“Male”转换为Gender enum的Male值?

接受的解决方案返回一个Enum对象。要返回您想要此解决方案的值:

dim MyGender as string = "Male"
dim Value as integer
Value = DirectCast([Enum].Parse(GetType(Gender), MyGender), Integer)

也可以这样做:

value = cInt([enum].Parse(GetType(Gender), MyGender))

答案 3 :(得分:0)

如果您希望解析不区分大小写,可以使用以下命令:

[Enum].Parse(Gender, DirectCast(MyGender, String), True)

这将处理dim MyGender as string = "Male"dim MyGender as string = "male"