是否有一种大小写不变的方法来比较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())中使用
有比我定义的更好的方法吗?
someType varName = Enum.Parse(typeof(someType), stringToCompare, true);
使用枚举。parse()的重载