我有一个非常有趣的问题,我不确定您是否可以使用这种方法来解决。
我有一些字符串,都是小写的。我们就称它为商业法。现在,我有一个枚举类型,其值为 BusinessLaw。
我想做的是将 businesslaw 字符串转换为 BusinessLaw 枚举类型。
通常我会这样做:
return (EnumType) (Enum.Parse(typeof (EnumType), value));
但是,当存在一些大小写差异时,这是不可能的。
你会如何解决这个问题?还是天生无法解决?
最佳答案
您可以使用 the overload of Enum.Parse
最后一个参数表示区分大小写:
return (EnumType) (Enum.Parse(typeof (EnumType), value, true));
有一个类似的TryParse
overload .
但是,请记住,可能有多个具有相同名称但大小写不同的枚举值:
public enum Awkward
{
FOO,
foo,
Foo,
fOO
}
如果可能的话,你应该避免使用这样的枚举值:)
关于c# - 降低字符串时解析枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336203/