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