Enumの使い方からちょっとずれているかもしれないが・・・。
Enumの定義が以下だったとする。
enum DayofWeek { Sunday = 1, Monday = 2, Tuesday = 4, Wednesday = 8, Thursday = 16, Friday = 32, Saturday = 64, }
とすると、定義名を取得したいこともあれば、値を取得したいと思うこともあるはずだ。本来、Enumは値を意識しないで使えるところがメリットなので、こういう使い方は邪道かもしれない。HashTableで、Keyと値のような使い方と似た使い方にもなってしまう。Enumは列挙の順序を気にするのに対して、HashTableは順序はまったく気にしないという点は違うかもしれないが。
Sample Code(サンプルコード)
foreach( DayofWeek day in Enum.GetValues(typeof(DayofWeek))) { Debug.WriteLine("{0,-10}{1,4}{2,10}", day.ToString(), ":", Enum.Format(typeof(DayofWeek), day, "d")); }
Result(実行結果)
Sunday : 1 Monday : 2 Tuesday : 4 Wednesday : 8 Thursday : 16 Friday : 32 Saturday : 64