列挙型というのは、名前つきの値をいくつかもっている型です。型によって、値を1つだけ選択できるものと複数選択できるものがあります。
列挙型が使われる例として、String(文字列)型のSplitメソッドがあります。このメソッドは、文字列を分割して配列にするものです。普通に実行すると次の通りになります。
StringSplitOptions型の値であるNoneを指定すると、何も指定しなかったのと同じ結果になります。
一方、StringSplitOptions型の値であるRemoveEmptyEntriesを指定すると、途中に含まれていた長さ0の文字列が出力されなくなります。
StringSplitOptions型が列挙型であることを前提に話を進めてしまいましたが、列挙型かどうかは次の方法で調べることができます。
ここでBaseTypeがSystem.Enumになっていれば列挙型です。System.Enumと書くと長いので、たいていはenumと表記します。
列挙型の値の一覧は、以下の方法で取得できます。
前述のStringSplitOptions型の値を取得します。
実は、StringSplitOptions型は、先ほど出てきたNoneとRemoveEmptyEntriesしか存在しないことが分かりました。
StringSplitOptions型は.NET Frameworkで用意されている型なので、MSDNにメンバー一覧が掲載されています。ここで紹介した方法は、MSDNに掲載されていない列挙型のメンバーを参照したいときや、ネットで検索する手間を省きたい場合に使用できます。
※MSDNには「列挙型」ではなく「列挙体」と書かれていますが、同じ意味です。プログラミング言語によって呼び方が異なります。