可能是重复问题:
如何在C#中将int转换为枚举类型
我从数据库中获取一个整数值,并希望将该值转换为枚举变量。 在99.9%的情况下,整数将与枚举声明中的一个值匹配。
public enum eOrderType {
Submitted = 1,
Ordered = 2,
InReview = 3,
Sold = 4,
...
}
eOrderType orderType = (eOrderType) FetchIntFromDb();
在极端情况下,该值将不匹配(无论是数据损坏还是有人手动更改数据)。
我可以使用 switch 语句并捕获 default
然后修复这种情况,但这感觉不正确。必须有更优雅的解决方案。
有什么想法吗?
public enum eOrderType { None = 0, Submitted = 1, ... }
- Metro Smurf