枚举到int最佳实践[重复]
Posted
技术标签:
【中文标题】枚举到int最佳实践[重复]【英文标题】:Enum to int best practice [duplicate] 【发布时间】:2013-11-09 13:42:01 【问题描述】:我无法在两种转换方法之间进行选择。从 enum 转换为 int 的最佳做法是什么
1:
public static int EnumToInt(Enum enumValue)
return Convert.ToInt32(enumValue);
2:
public static int EnumToInt(Enum enumValue)
return (int)(ValueType)enumValue;
【问题讨论】:
【参考方案1】:我会在 Enum 上以扩展方法的形式加入第三种选择
public static int ToInt(this Enum e)
return Convert.ToInt32(e);
enum SomeEnum
Val1 = 1,
Val2 = 2,
Val3 = 3,
int intVal = SomeEnum.ToInt();
【讨论】:
【参考方案2】:除了@dtb
您可以通过在等号后面提供它来指定枚举的 int(或标志)。
enum MyEnum
Foo = 0,
Bar = 100,
Baz = 9999
干杯
【讨论】:
【参考方案3】:如果你有一个枚举,比如
enum MyEnum
Foo,
Bar,
Baz,
以及该枚举的值,例如
MyEnum value = MyEnum.Foo;
那么将值转换为int
的最佳方法是
int result = (int)value;
【讨论】:
以上是关于枚举到int最佳实践[重复]的主要内容,如果未能解决你的问题,请参考以下文章