こんにちは山田です。
開発言語:C#
C#の基本構文でいまいち呑み込めなかった部分について
わからないなりに解説をしようと思います。
~良くわかっていない人による解説~
■列挙型とは (enum)
特定の値しか取らないようなものに対して使用します。
たとえば曜日だったら 月~日までの7つのみになります。
この曜日を例に取り上げていこうと思います。
■基本構文
【定義の仕方】
列挙型の宣言はenumをはじめに記述し、つづいて列挙型の名前を記述します。
-------------------------------------------------
enum 列挙型名
{
メンバー1, メンバー2, …, メンバーn ←列挙定数
}
-------------------------------------------------
例1)
Sun:0
Mon:1
Tue:2
:
Sun:6
例2)
Sun:0
Mon:100
Tue:101
Wed:102
Thu:103
Fri:200
Sat:201
例3)
列挙要素の基になる既定の型はintですが、
Int型以外で整数値を使いたい場合は以下ように記述します。
byte、sbyte、short、ushort、int、uint、long、ulong
【利用する方法】
識別子を参照する時は以下のように記述します
----------------------------
列挙型名.メンバー名
----------------------------
例4)
結果:月曜火曜水曜木曜金曜土曜日曜
すごく微妙なサンプルになったと思いました。
■ちなみに整数値の方を使用したいときは、
以下のように型変換すればOKです。
----------------------------
(整数型)列挙型名.メンバー名
----------------------------
■その他こわざ
参考になった応用の例です。
・enumの値を任意の文字列に変換する
・数値がenumで定義済みがどうかチェックする
・enumの値を列挙する
http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471
開発言語:C#
C#の基本構文でいまいち呑み込めなかった部分について
わからないなりに解説をしようと思います。
~良くわかっていない人による解説~
■列挙型とは (enum)
特定の値しか取らないようなものに対して使用します。
たとえば曜日だったら 月~日までの7つのみになります。
この曜日を例に取り上げていこうと思います。
■基本構文
【定義の仕方】
列挙型の宣言はenumをはじめに記述し、つづいて列挙型の名前を記述します。
-------------------------------------------------
enum 列挙型名
{
メンバー1, メンバー2, …, メンバーn ←列挙定数
}
-------------------------------------------------
例1)
-------------------------------------------------
enum Week
{
Sun, Mon, Tue, Wed, Thu, Fri, Sat
}
-------------------------------------------------
そしてそれぞれの識別子には0から順番に1ずつ増える整数値が割り当てられます。Sun:0
Mon:1
Tue:2
:
Sun:6
例2)
-------------------------------------------------
enum Week
{
 Sun, Mon=100, Tue, Wed, Thu, Fri=200, Sat
}
-------------------------------------------------
もし任意の値を代入すると、そこから1ずつ増加しますSun:0
Mon:100
Tue:101
Wed:102
Thu:103
Fri:200
Sat:201
例3)
列挙要素の基になる既定の型はintですが、
Int型以外で整数値を使いたい場合は以下ように記述します。
-------------------------------------------------
enum Week : byte
{
 Sun =1
 ,Mon =2
 ,Tue =3
 ,Wed =4
 ,Thu =5
 ,Fri =6
 ,Sat =7
}
-------------------------------------------------
他にはこんな型が使用できます。byte、sbyte、short、ushort、int、uint、long、ulong
【利用する方法】
識別子を参照する時は以下のように記述します
----------------------------
列挙型名.メンバー名
----------------------------
例4)
using System;
class Sample
{
 protected enum Week : int
 {
 Sun =1
 ,Mon =20
 ,Tue =30
 ,Wed =40
 ,Thu =50
 ,Fri =60
 ,Sat =70
 }
 /// 
 /// 日本語の曜日をただ返すプログラム
 ///  
 protected void SampleProgram(Week[] _day){
  for (int i = 0; i < _day.Length; i++)
  {
   switch (_day[i])
   {
    case Week.Sun: Console.Write("日曜"); break;
    case Week.Mon: Console.Write("月曜"); break;
    case Week.Tue: Console.Write("火曜"); break;
    case Week.Wed: Console.Write("水曜"); break;
    case Week.Thu: Console.Write("木曜"); break;
    case Week.Fri: Console.Write("金曜"); break;
    case Week.Sat: Console.Write("土曜"); break;
   }
  } 
 }
 static void Main()
 {
  Week[] day = new Week[] { Week.Mon, Week.Tue, Week.Wed, Week.Thu, Week.Fri, Week.Sat, Week.Sun };
  SampleProgram(day);
    }
}
結果:月曜火曜水曜木曜金曜土曜日曜
すごく微妙なサンプルになったと思いました。
■ちなみに整数値の方を使用したいときは、
以下のように型変換すればOKです。
----------------------------
(整数型)列挙型名.メンバー名
----------------------------
■その他こわざ
参考になった応用の例です。
・enumの値を任意の文字列に変換する
・数値がenumで定義済みがどうかチェックする
・enumの値を列挙する
http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471