是否有一种大小写不变的方法来比较string与Enum中的Enum.IsDefined / enum_parse

本文关键字:Enum string 比较 中的 IsDefined parse enum 方法 一种 大小写 是否 | 更新日期: 2023-09-27 18:09:22

因此,如果您无法访问Enum或控制要与Enum值进行比较的字符串,是否有比以下代码更好或更简洁的方法来获取匹配的Enum值并在调用中使用它:

 Enum.IsDefined() or 
 Enum.Parse()

例子:

  var enumValues = Enum.GetValues(typeof(someType));
  foreach (var value in enumValues) {
        if (value.ToString().ToLowerInvariant() == stringToCompare.ToLowerInvariant()) {
                stringToCompare = value.ToString();
        }
  }

此时,如果有匹配,您将有正确的枚举值,然后可以在(enum.isdefined()或Enum.Parse())中使用

有比我定义的更好的方法吗?

是否有一种大小写不变的方法来比较string与Enum中的Enum.IsDefined / enum_parse

someType varName = Enum.Parse(typeof(someType), stringToCompare, true);

使用枚举。parse()的重载