【发布时间】:2010-10-25 12:38:47
【问题描述】:
如何将 VB.NET 中的字符串解析为枚举值?
例如我有这个枚举:
Public Enum Gender
NotDefined
Male
Female
End Enum
如何将字符串 "Male" 转换为 Gender 枚举的 Male 值?
【问题讨论】:
如何将 VB.NET 中的字符串解析为枚举值?
例如我有这个枚举:
Public Enum Gender
NotDefined
Male
Female
End Enum
如何将字符串 "Male" 转换为 Gender 枚举的 Male 值?
【问题讨论】:
Dim val = DirectCast([Enum].Parse(GetType(Gender), "Male"), Gender)
【讨论】:
Male。我将枚举值保存在数据库中,并试图取回它。在这种情况下,我可能不知道我在转换为字符串后保存的实际值
Parse(enumType As System.Type, value As String) As Object
DirectCast([Enum].Parse(GetType(Gender), "Male"), Integer)
【讨论】:
如何将字符串“Male”转换为 Gender 枚举的 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))
【讨论】:
如果您希望解析不区分大小写,可以使用以下内容:
[Enum].Parse(Gender, DirectCast(MyGender, String), True)
这将处理dim MyGender as string = "Male" 或dim MyGender as string = "male"
【讨论】: