it-swarm.com.ru

Разобрать строку в значение Enum в VB.NET

Как я могу разобрать строку в VB.NET для перечисления значения?

Пример у меня есть это перечисление:

Public Enum Gender
    NotDefined
    Male
    Female
End Enum

как я могу преобразовать строку "Male" в значение Gender перечисления Male?

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

Смотрите Enum.TryParse .

18
Anton Gogolev

как я могу преобразовать строку "Мужской" в значение "мужской" перечисления пола?

Принятое решение возвращает объект 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
Max Hodges

Если вы хотите, чтобы синтаксический анализ не учитывал регистр, вы можете использовать следующее:

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

Это будет обрабатывать dim MyGender as string = "Male" или dim MyGender as string = "male"

0
e.gad