簡體   English   中英

C#枚舉為int

[英]C# enums as int

有沒有辦法可以讓我的枚舉默認為int? 所以我不需要在任何地方進行類型轉換? 基本上我將它用作const值列表。

沒有。

如果你真的需要一組int常量,那么使用一個靜態類:

public static class Constants {
  public const int ConstantOne = 42;
  public const int ConstantTwo = 42;
  ...
}

不,如果您已聲明枚舉,則其默認值為枚舉,並且需要顯式轉換才能獲得int值。 如果你使用枚舉作為const值,為什么不使用const值? 如果你想要一些分離,你可以創建一個只包含這些const值的結構。

如果你真的想這樣做,你可以為枚舉創建如下的擴展方法

public static int ToInt(this Enum obj)
{
   return Convert.ToInt32(obj);
}

然后你可以像下面這樣使用它

var t = Gender.male;
var r = t.ToInt();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM