C#でenum(列挙型)を使うことで、コードの可読性や保守性を高めることができます。この記事では、初心者向けにenumの基本的な使い方と、実務での活用ポイントを解説します。これからC#を学ぶ方や、業務コードをより分かりやすくしたい方におすすめの内容です。
enum(列挙型)とは?
enum(列挙型)は、名前付きの定数をグループ化するためのデータ型です。数値の意味を明確にし、コードの可読性を高める役割を果たします。
enum Status
{
Pending,
InProgress,
Completed,
Canceled
}
このように、Statusという名前のenumを定義することで、0
, 1
, 2
といった数値を直接扱う代わりに、意味のある名前で状態を表すことができます。
enumの基本的な使い方
Status currentStatus = Status.InProgress;
if (currentStatus == Status.InProgress)
{
Console.WriteLine("処理中です。");
}
このようにenumの値は定数として扱えるため、読みやすく間違いが少ないコードになります。
enumの数値(整数値)を指定する
デフォルトでは、最初の要素が0
から順に1
, 2
, 3
と自動的に番号が振られます。必要に応じて、明示的に値を設定することも可能です。
enum ErrorCode
{
None = 0,
NotFound = 404,
ServerError = 500
}
enumを文字列として表示する
Console.WriteLine(currentStatus.ToString()); // "InProgress"
ToStringメソッドを使うことで、enumの値を文字列として取得できます。ログ出力やUI表示に便利です。
文字列からenumに変換する(TryParse)
ユーザー入力や設定ファイルなどから文字列で受け取った値をenumに変換するには、Enum.TryParse
を使います。
if (Enum.TryParse("Completed", out Status status))
{
Console.WriteLine(status); // Completed
}
enumを使うメリット
- コードの意味が明確になる:数字ではなく名前で状態を表せる
- 間違いが減る:許可された値のみ使用されるため、バリデーションの手間が減る
- 変更がしやすい:状態の追加・削除が一か所で済む
よくある実務でのenumの用途
- ステータス管理(例:注文ステータス、処理状態)
- エラーメッセージの種類
- ユーザー権限レベル
- APIレスポンスの状態
まとめ
C#のenumを使うことで、コードの意味が伝わりやすくなり、保守性の高いアプリケーションを構築できます。特に複数の状態を管理する必要がある場面では、enumは非常に有効な手段です。
初心者のうちからenumに慣れておくことで、実務コードにもすぐに応用できます。今回紹介した使い方を参考に、自分のプロジェクトでも活用してみてください。