如何对枚举值和应与枚举名称匹配的字符串进行简单比较?
如何将字符串解析为适当的枚举值。
例如,
Enum A
B=0
C=1
D=2
End Enum
如何检查 String = A.C 以及如何将字符串转换为其相应的 A 值而不将其与字符串表示形式进行比较?
最佳答案
有几种不同的相关方法:
Enum.GetName(typeof(A), A.C) == "C"
A.C.ToString() == "C"
((A)Enum.Parse(typeof(A), "C")) == A.C
前两个将 A.C
的值转换为字符串表示形式 ("C"
),然后将其与字符串进行比较。最后一个将字符串 "C"
转换为类型 A
,然后作为实际类型 A
进行比较。
枚举到字符串:enumValue.ToString()
或 Enum.GetName(typeof(A), A.C)
字符串到枚举:(A)Enum.Parse(typeof(A), "C")
请注意,如果枚举用 FlagsAttribute
标记,那么这些都不会真正起作用。
关于vb.net - 如何测试 String = Enum.Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476931/