Enum to int best practice
本问题已经有最佳答案,请猛点这里访问。
我不能在两种转换方法之间进行选择。从枚举转换为int的最佳实践是什么
1:
1 2 3 4 | public static int EnumToInt(Enum enumValue) { return Convert.ToInt32(enumValue); } |
2:
1 2 3 4 | public static int EnumToInt(Enum enumValue) { return (int)(ValueType)enumValue; } |
除了@dtb
通过在等号之后提供枚举,可以指定枚举的int(或标志)。
1 2 3 4 5 6 | enum MyEnum { Foo = 0, Bar = 100, Baz = 9999 } |
干杯
如果您有一个枚举,例如
1 2 3 4 5 6 | enum MyEnum { Foo, Bar, Baz, } |
以及该枚举的值,例如
1 | MyEnum value = MyEnum.Foo; |
那么将值转换为
1 | int result = (int)value; |
我将以枚举上的扩展方法的形式向混合中抛出第三个选项。
1 2 3 4 5 6 7 8 9 10 11 12 13 | public static int ToInt(this Enum e) { return Convert.ToInt32(e); } enum SomeEnum { Val1 = 1, Val2 = 2, Val3 = 3, } int intVal = SomeEnum.ToInt(); |