枚举到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最佳实践[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Web API 中传递枚举参数的最佳实践

枚举类型的命名空间 - 最佳实践

JSP/Servlet 环境的最佳实践 [重复]

连接 MongoDB 的最佳实践 [重复]

实现从服务器到android来回同步数据的最佳实践(架构级别)[重复]

PHP单例类的最佳实践[重复]