web-dev-qa-db-fra.com

Analyser une chaîne à une valeur Enum dans VB.NET

Comment analyser une chaîne dans VB.NET pour enumérer la valeur?

Exemple j'ai cette énumération:

Public Enum Gender
    NotDefined
    Male
    Female
End Enum

comment puis-je convertir une chaîne "Homme" en valeur Gender de l'énumération Male?

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

comment puis-je convertir une chaîne "Male" en valeur Male de l'énumération Gender?

La solution acceptée renvoie un objet Enum. Pour renvoyer la valeur que vous souhaitez pour cette solution:

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

Peut aussi le faire de cette façon:

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

Si vous souhaitez que l'analyse ne respecte pas la casse, vous pouvez utiliser les éléments suivants:

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

Ceci gérera dim MyGender as string = "Male" ou dim MyGender as string = "male"

0
e.gad