C#で`Enum` から`int` の値を取得する方法と例
C#でenum
からint
の値を取得するには、enum
変数を整数にキャストしてください。
On this page
解決策1: 型キャストを使用して、int
から値を取得する。enum
C# のenums
のデフォルトの基礎となる型はInt
です。
したがって、C#のenumから整数値を取得するために、enum
をint
にタイプキャストすることができます。
ここでは、例題を挙げて、さらに理解を深めていきます。
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
では、enumの値を整数値にキャストしてみます。
int mondayValue=(int)Days.Monday; //0
int tuesdayValue=(int)Days.Tuesday; //1
int wednesdayValue=(int)Days.Wednesday; //2
int thursdayValue=(int)Days.Thursday; //3
int fridayValue=(int)Days.Friday; //4
int saturdayValue=(int)Days.Saturday; //5
int sundayValue=(int)Days.Sunday; //6
解決策2:Convert.ToInt32()
メソッドを使ってenumから整数値を取得する
また、Convert.ToInt32()
to メソッドを使用して、以下のようにenum
を整数に変換することができます。
int mondayValue=Convert.ToInt32(Days.Moday); //0
異なる型の基礎となるenum
の値を取得する
Enums
C#では、異なる基礎となる型を持つことができます。
C#のenumがuint
,long
, またはulong
と宣言されている場合、対応するenum
の型にキャストする必要があります。
次の例では、Stars
の enum がlong
という型を持っているとします。
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1