1: using System;
2:
3: namespace Sample001
4: {
5: enum Era
6: {
7: Meiji,
8: Taisho,
9: Showa,
10: Heisei
11: }
12: class Class1
13: {
14: static void WriteEra( Era t )
15: {
16: switch( t )
17: {
18: case Era.Meiji:
19: Console.WriteLine("明治");
20: break;
21: case Era.Taisho:
22: Console.WriteLine("大正");
23: break;
24: case Era.Showa:
25: Console.WriteLine("昭和");
26: break;
27: case Era.Heisei:
28: Console.WriteLine("平成");
29: break;
30: }
31: }
32: [STAThread]
33: static void Main(string[] args)
34: {
35: Era t = Era.Taisho;
36: WriteEra( t );
37: }
38: }
39: }
List 16-1
これを実行するとFig.16-1のようになる。
List 16-1
まず、5〜11行目が、列挙型を定義している。ここでは、Eraという名前で、Meiji、Taisho、Showa、Heiseiという4つの名前を含む列挙型を定義している。Eraはデータ型なので、35行目のようにEra型の変数などを宣言できる。Era型の変数には、上記の4種類の名前しか代入できない。名前は単独で記述することはできない。つまり、「Era t = Taisho;」と書くことはできない。名前がEra型であることを明示するために、名前の手前に「Era.」を付加して、「Era t = Era.Taisho;」と記述しなければならない。