如何做一个简单的比较枚举值和一个应该与枚举名称匹配的字符串?
如何将字符串解析成适当的枚举值.
例如,
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,那么这些都不会有效.