C#枚举为int

时间:2009-06-10 12:42:00

标签: c# enums

有没有办法可以让我的枚举默认为整数?所以我不需要在任何地方进行类型转换? 基本上我将它用作const值列表。

3 个答案:

答案 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();