R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

列挙型を使う(その2)

列挙型を使う
http://blogs.wankuma.com/rti/archive/2007/03/12/66244.aspx

の続きです。

列挙型は内部的に int 型で処理が行われるのですが、この型を変更することもできるようです。
以下は C# で型を明示している例です。


public enum 年号 : short {
  大正,
  昭和,
  平成



このようにすると、年号型は内部的に short 型で処理が行われます。

さらに、前回は、列挙順に 0 から 1 加算されていると書きましたが、これを変更することもできます。
以下は、C# で10 から 1 加算するように指定した場合です。


public enum 年号 : short {
  大正 = 10,
  昭和,
  平成



特に明示していない場合は、直前で明示した値から数えた列挙数分だけ加算された値が割り当てられます。
例えば、以下の場合は、平成は 101 という値になります。


public enum 年号 : short {
  大正 = 10,
  昭和 = 100,
  平成


もちろん、全ての列挙子の値を明示することもできます。


public enum 年号 : short {
  大正 = 1,
  昭和 = 10 ,
  平成 = 15
}


列挙型を上手に使いこなしている人のコードには、

マジックナンバー

は見当たりませんね。

 

#皆さん、今ごろはシアトルですねー。

投稿日時 : 2007年3月13日 11:21

Feedback

# re: 列挙型を使う(その2) 2007/03/13 11:43 じゃんぬねっと

FlagsAttribute クラスの解説まだぁ?
列挙体の副作用の解説まだぁ?

# re: 列挙型を使う(その2) 2007/03/13 12:23 null

列挙体の副作用ってなんのことですか?
ある列挙体に定義されていない数値でも、
ある列挙体にキャストすることが可能という話でしょうか?

# 列挙型を使う(その3) 2007/03/14 14:25 R.Tanaka.Ichiro's Blog

列挙型を使う(その3)

# re: 列挙型を使う(その2) 2007/03/14 14:30 R・田中一郎

じゃんぬねっと さん

>FlagsAttribute クラスの解説まだぁ?
>列挙体の副作用の解説まだぁ?

FlagsAttribute ネタは先ほどあげてきましたが、列挙体の副作用に関しては良くわかりませんでした。

#何の根拠もないのですが、何と無くいぢめられている気持ちになるのは何故でしょうか。

-----------------------------------------------------
null さん

>ある列挙体に定義されていない数値でも、
>ある列挙体にキャストすることが可能という話でしょうか?

知っている話なのか、知らない何かなのかが非常に気になりますね。

# 列挙型を使う(その4) 2007/03/15 13:47 R.Tanaka.Ichiro's Blog

列挙型を使う(その4)

# 列挙型を使う(その5) 2007/03/16 11:31 R.Tanaka.Ichiro's Blog

列挙型を使う(その5)

# 列挙型を使う(その5) 2007/03/16 11:33 R.Tanaka.Ichiro's Blog

列挙型を使う(その5)

# 列挙型を使う(その6) 2007/03/19 10:07 R.Tanaka.Ichiro's Blog

列挙型を使う(その6)

タイトル
名前
Url
コメント