有没有办法可以让我的枚举默认为整数?所以我不需要在任何地方进行类型转换? 基本上我将它用作const值列表。
答案 0 :(得分:8)
没有
如果你真的需要一组int常量,那么使用静态类:
public static class Constants {
public const int ConstantOne = 42;
public const int ConstantTwo = 42;
...
}
答案 1 :(得分:7)
不,如果您已声明枚举,则其默认值为枚举,并且需要显式转换才能获得int值。如果你使用枚举作为const值,为什么不使用const值?如果你想要一些分离,你可以创建一个只包含这些const值的结构。
答案 2 :(得分:1)
如果您真的想这样做,可以为枚举
创建如下的扩展方法public static int ToInt(this Enum obj)
{
return Convert.ToInt32(obj);
}
然后您可以像以下
一样使用它var t = Gender.male;
var r = t.ToInt();