現在は、C# で書くことが多くなったのですが、列挙型は VB6 の頃から多用しています。
列挙型は、文字通り型として扱うことができます。
以下は、C# で列挙型を用いた場合のサンプルコードです。
public enum 年号 { 大正, 昭和, 平成 }
public string Method(年号 value) {
switch (value) {
case 年号.大正: this.大正の人向けの処理(); break;
case 年号.昭和: this.昭和の人向けの処理(); break;
case 年号.平成: this.平成の人向けの処理(); break;
default: this.明治以前の人向けの処理(); break;
}
}
このように列挙型を用いることで、年号という型として扱うことができるようになります。
しかし、上記のように書いた場合、実は列挙型は内部的に int 型で処理が行われています。
各値は、列挙した順に 0 から 1 ずつ加算した値が割り当てられています。
上記のサンプルコードは、次のサンプルコードと同様です。
public string Method(int value) {
switch (value) {
case 0: this.大正の人向けの処理(); break;
case 1: this.昭和の人向けの処理(); break;
case 2: this.平成の人向けの処理(); break;
default: this.明治以前の人向けの処理(); break;
}
}
やはり列挙型を用いる方が、0~2 の意味がわかりやすく、入力ミスや認識ミスなどの間違いも少なくなりそうです。
ところで、
平成生まれ
の人は、僕を含めて わんくま同盟に何名程加盟しているのでしょうね。