C#_ enum ( 列挙型 ) とは

enum キーワードは、列挙型を宣言する為に使用。

列挙型
特定の値しかとらないようなものに対して使う型。
例えば曜日、月、性別、年号などなど。

 

書き方

    enum Hoge // 列挙型名
    {
        hogege   // メンバー名
        ,fugaga
        ,piyopiyo
    }

 

利用する時

Console.Write ( Hoge.hogege ) などで表示すると、
メンバー名 hogege がそのまま表示される。

 

列挙型の中身

列挙型は、プログラム内部では整数として扱われており、
整数型に変換することで、その値を取りだすことができる。

 

特に値や型を指定しなければ、int と扱われ、
各メンバーは宣言した順に 0、1、2、…、n となる。

上記の例だと、
hogege 、fugaga 、piyoyo 、 は 0、1、2 となる。

 

指定するには、

    enum Hoge
    {
        hogege = 10
        ,fugaga = 20
        ,piyopiyo = 30
    }

 

なお、
1 つめのメンバーだけを指定すると残りのメンバーの値は
1 つめのメンバーの値から 1 ずつ増加した値になる。

ex )
月の表示。 列挙型は byte ( 0~255 ) 型として中身の数値を定義。
for で回している i を 列挙型 Month にキャストしている 多分

    private void buttonTest_Click(object sender, EventArgs e)
    {
        for (int i = 1; i < 13; i++)
        {
            Console.WriteLine( (Month) i );
        }
    }
   
    private enum Month : byte
    {
        January = 1
        , February
        , March
        , April
        , May
        , June
        , July
        , August
        , September
        , October
        , November
        , December
    }

 

 

こちらから。
http://ufcpp.net/study/csharp/st_enum.html

 

以上。