Minaminの日記

趣味を記事にしてる。

C#の列挙型の話。

f:id:Minamin1234:20210814003558p:plain

こんにちは。みなみんです。
C#入門シリーズの続きです。

 

今回は列挙型について記事を書きました。

 

目次

 

 

列挙型について

列挙型とは?

例えば、AさんとBさんでジャンケンをします。Aさんは「パー」を、Bさんは「チョキ」を出しました。

これらを変数にしてみましょう。
それぞれが出している手の状態を変数にします。

string A = "Paper";
string B = "Scissor";

こういう書き方もありですが、もっといい方法があります。

ジャンケンで出す手というものは「グー」、「チョキ」、「パー」の3択ですよね。
これを列挙体にする事ができます。
サンプルをご覧下さい。(Gist)

早速、色々と書いてしまったのですが、使い方はクラスとほぼ同じです。

決められた選択肢から一つだけ選び、それを変数として格納する。これが列挙型です。

選択肢を並べる事を「列挙する」といいます。

 

列挙型の定義

これは、クラスの定義と勝手は同じです。クラス内で定義する事はできません。

選択肢を定義する際はダブルクォーテーションは入れずに文字列を入力します。

enum 列挙名{
選択肢1,
選択肢2,
,,,,
}

最後の選択肢以外は末尾に「,」をつけましょう。「~~と、~~と」っていう感じに句読点を打つのと同じですね。

 

列挙型の利用・列挙型変数の宣言

列挙型の変数を宣言する時は、いつも通りに、

列挙型 変数名 = 列挙型から初期値;

もう一度同じサンプルを持ってきますね。(Gist)

 

列挙型についてもう一つの知識

列挙型の中身は整数でも表せる

列挙型の選択肢は列挙した順番にインデックス番号が与えられます。

ここで、サンプルをご覧下さい。(Gist)

このように、列挙型の変数に整数型としてキャスト(型変換)してあげるとインデックス番号が得られる。

 

 

 

この記事に誤りがあるかもしれません。その辺はご了承ください。

本記事で紹介されている方法・手法はあくまでも個人的なものです。