C#で`Enum` から`int` の値を取得する方法と例

C#でenum からint の値を取得するには、enum 変数を整数にキャストしてください。

On this page

解決策1: 型キャストを使用して、int から値を取得する。enum

C# のenums のデフォルトの基礎となる型はInt です。

したがって、C#のenumから整数値を取得するために、enumint にタイプキャストすることができます。

ここでは、例題を挙げて、さらに理解を深めていきます。

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