Enum 列挙型

2021-06-12
Enum

おはようございます、今日はEnum 列挙型に関して使い方を紹介します。

早速ですが、 どんな時に使うと便利か、 例えば下記のようなステータスをデータに持たせたいとき、

新規、処理中、確認中、完了

もしも新規であると指定したい場合は

{object}.status = "new";

のように指定したいと思います。 ただ、これでは無数のステータスを持ててしまうので、あらかじめこの4つしか入力させたくない場合に使います。

複数の開発者と仕事する際にいちいちドキュメント見るのも面倒なので、やはりenumで指定しておくのがいいと思います。複数でなくても、自分で書いたコードでありながら思い出せないなんてことはいつもあります・・

この場合は下記のように定義をします。

enum ActionStatus
{
    New,
    InProcess,
    Checking,
    Done
}

enumで指定した値は数値となっていますので、その数値を指定したい場合は下記のようにしてください。指定しない場合は上から0となっています。

enum ActionStatus
{
    New = 10,
    InProcess  = 20,
    Checking = 30,
    Done = 40
}

public string status

だったものを

public ActionStatus status {get;set;}

と指定します。

途中からEnum指定したい場合

Enumは数値になっているのでDBの型を指定するときも数値がいいですが、 もうすでにDBはstringで指定しまっている場合は値を変換して使うことができます。

string status = status.New.ToString();

上記のようにToString()とすれば文字列が取得することができます。

さらなる詳細はこちらを参照ください。 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/enum

公開日: 2021-06-12