繁体   English   中英

降低字符串时解析枚举

[英]Parse enum when string is lowered

我有一个非常有趣的问题,我不确定您是否可以使用这种方法解决。

我有一些字符串,都是小写的。 我们就叫它商业法吧 现在,我有一个枚举类型,其值为BusinessLaw

我想要做的是将 businesslaw 字符串转换为 BusinessLaw 枚举类型。

通常我会这样做:

return (EnumType) (Enum.Parse(typeof (EnumType), value));

但是,当存在某些大小写差异时,这是不可能的。

你会如何解决这个问题? 还是天生就无法解决?

您可以使用带有最终参数Enum.Parse重载来指示区分大小写:

return (EnumType) (Enum.Parse(typeof (EnumType), value, true));

有一个类似的TryParse重载

但是,请记住,除了大小写外,可能有多个同名的枚举值:

public enum Awkward
{
    FOO,
    foo,
    Foo,
    fOO
}

如果可能,您应该避免使用此类枚举值:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM