web-dev-qa-db-ja.com

VB.NETで文字列をEnum値に解析します

VB.NETの文字列を解析して値を列挙するにはどうすればよいですか?

例この列挙型があります:

Public Enum Gender
    NotDefined
    Male
    Female
End Enum

文字列「Male」をGender enumのMale値に変換するにはどうすればよいですか?

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

Enum.TryParse を参照してください。

18
Anton Gogolev

文字列 "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))
4
Max Hodges

解析で大文字と小文字を区別しない場合は、次を使用できます。

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

これはdim MyGender as string = "Male"またはdim MyGender as string = "male"を処理します

0
e.gad