Ответ 1
Dim val = DirectCast([Enum].Parse(GetType(Gender), "Male"), Gender)
Как я могу проанализировать строку в VB.NET для значения перечисления?
Пример: у меня есть это перечисление:
Public Enum Gender
NotDefined
Male
Female
End Enum
как я могу преобразовать строку "Мужской" в значение Gender
enum Male
?
Dim val = DirectCast([Enum].Parse(GetType(Gender), "Male"), Gender)
См. Enum.TryParse.
как я могу преобразовать строку "Мужской" в значение "Пол" 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))
Если вы хотите, чтобы синтаксический анализ нечувствителен к регистру, вы можете использовать следующее:
[Enum].Parse(Gender, DirectCast(MyGender, String), True)
Это будет обрабатывать dim MyGender as string = "Male"
или dim MyGender as string = "Male"