Lar*_*ard 15 .net c# enums .net-4.5
我有一个非常有趣的问题,我不确定你甚至可以使用这种方法解决.
我有一些字符串,全部是小写的.我们称之为businesslaw.现在,我有一个枚举类型,其值为BusinessLaw.
我想要做的是将businesslaw字符串转换为BusinessLaw枚举类型.
通常我会通过这样做来接近它:
return (EnumType) (Enum.Parse(typeof (EnumType), value));
Run Code Online (Sandbox Code Playgroud)
但是,当存在一些案例差异时,这是不可能的.
你会如何解决这个问题?或者它是天生的,不可解决的?
Jon*_*eet 25
您可以使用带有最终参数的重载Enum.Parse来指示区分大小写:
return (EnumType) (Enum.Parse(typeof (EnumType), value, false));
Run Code Online (Sandbox Code Playgroud)
有类似的TryParse超载.
但是,请记住,除了大小写之外,可能存在多个具有相同名称的枚举值:
public enum Awkward
{
FOO,
foo,
Foo,
fOO
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,你应该避免使用这样的枚举值:)
| 归档时间: |
|
| 查看次数: |
3306 次 |
| 最近记录: |