カテゴリ: VB.NET 更新日: 2025/12/13

VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法

VB.NETでEnum(列挙型)を定義して使う方法
VB.NETでEnum(列挙型)を定義して使う方法

先生と生徒の会話形式で理解しよう

生徒

「VB.NETで複数の値をわかりやすくまとめる方法ってありますか?」

先生

「はい、VB.NETではEnum(列挙型)を使うと、関連する値をひとまとめにできます。」

生徒

「列挙型ってなんだか難しそうですが、どういうときに使うんですか?」

先生

「日常生活に例えるともっと分かりやすいですよ。それではEnumの基本を見ていきましょう!」

1. Enum(列挙型)とは?

1. Enum(列挙型)とは?
1. Enum(列挙型)とは?

VB.NETのEnum(列挙型)は、複数の関連する定数をひとつのグループとしてまとめるための仕組みです。例えば「月曜日・火曜日・水曜日…」のような曜日の一覧や、「赤・青・緑」のような色の名前を、わかりやすく表現することができます。

もしEnumを使わずに数値だけで曜日を表現すると、1=月曜日、2=火曜日のように数字の意味を覚えておかないと分かりにくくなります。しかしEnumを使えば、プログラムの中でDayOfWeek.Mondayのように名前で扱えるので、読みやすく、間違いも減らせます。

2. Enumを定義する方法

2. Enumを定義する方法
2. Enumを定義する方法

VB.NETでEnumを定義するときは、Enumキーワードを使います。次の例では曜日を定義しています。


Enum DayOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
End Enum

このように定義すると、プログラムの中で曜日をDayOfWeek.MondayDayOfWeek.Fridayと書けるようになります。

3. Enumを使う具体例

3. Enumを使う具体例
3. Enumを使う具体例

次に、Enumを使って「今日は何曜日ですか?」というメッセージを出力するプログラムを作ってみましょう。


Enum DayOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
End Enum

Module Program
    Sub Main()
        Dim today As DayOfWeek = DayOfWeek.Wednesday

        If today = DayOfWeek.Wednesday Then
            Console.WriteLine("今日は水曜日です。週の真ん中ですね!")
        End If
    End Sub
End Module

今日は水曜日です。週の真ん中ですね!

このように、数字を直接使わなくても、曜日の名前で扱えるのでとても分かりやすくなります。

4. Enumの数値について

4. Enumの数値について
4. Enumの数値について

Enumは裏側では整数(Integer型)として扱われます。何も指定しない場合は、最初の要素が0、次が1、次が2…というように自動で番号が付きます。


Enum Color
    Red    '0
    Blue   '1
    Green  '2
End Enum

この場合、Color.Redの数値は0、Color.Blueは1、Color.Greenは2になります。

また、自分で数値を割り当てることも可能です。


Enum Color
    Red = 10
    Blue = 20
    Green = 30
End Enum

このようにすると、Color.Redは10、Color.Blueは20というように、任意の値を持たせることができます。

5. Enumを使うメリット

5. Enumを使うメリット
5. Enumを使うメリット

Enumを使うことで、VB.NETのプログラムは次のように分かりやすくなります。

  • 数字の意味を覚えなくても良い(1=月曜日のように覚える必要なし)
  • プログラムが読みやすくなる(DayOfWeek.Mondayと書ける)
  • 間違いを減らせる(誤った数値を使う可能性が低くなる)
  • 修正がしやすくなる(新しい項目をEnumに追加するだけで良い)

特に初心者のうちは「数字をそのまま使うよりEnumを使った方がプログラムがわかりやすい」と意識しておくと良いでしょう。

6. EnumとSelect Case文の組み合わせ

6. EnumとSelect Case文の組み合わせ
6. EnumとSelect Case文の組み合わせ

EnumはSelect Case文と組み合わせると、さらに便利に使えます。


Enum DayOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
End Enum

Module Program
    Sub Main()
        Dim today As DayOfWeek = DayOfWeek.Friday

        Select Case today
            Case DayOfWeek.Monday
                Console.WriteLine("月曜日:新しい週の始まりです。")
            Case DayOfWeek.Friday
                Console.WriteLine("金曜日:もうすぐ週末です!")
            Case DayOfWeek.Saturday, DayOfWeek.Sunday
                Console.WriteLine("週末ですね!ゆっくり休みましょう。")
            Case Else
                Console.WriteLine("平日です。頑張りましょう。")
        End Select
    End Sub
End Module

金曜日:もうすぐ週末です!

このようにEnumを使えば、条件分岐のコードも直感的で読みやすくなります。

まとめ

まとめ
まとめ

VB.NETのEnum(列挙型)は、関連する定数をひとつのグループとしてまとめるための仕組みであり、曜日や色、状態などのプログラム内で扱う値をわかりやすく表現することができます。Enumを使うことで、数字だけで管理していたときの誤解や間違いを防ぎ、プログラムの可読性や保守性を高めることができます。

Enumは内部的には整数型(Integer)として扱われます。特に何も指定しない場合、最初の値が0、次が1、2…と自動で番号が付与されます。また、任意の数値を設定することも可能です。これにより、プログラムの意図を明確に示すだけでなく、後から値を追加したり変更したりする際も柔軟に対応できます。

初心者にとってのメリットは、数字の意味を覚えなくても良いこと、可読性が向上すること、間違いを減らせること、そして修正が簡単にできることです。特にSelect Case文と組み合わせると、条件分岐のコードが直感的でわかりやすくなり、複雑なロジックも整理しやすくなります。

サンプルプログラム:EnumとSelect Case文の活用例


Enum DayOfWeek
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday
End Enum

Module Program
    Sub Main()
        Dim today As DayOfWeek = DayOfWeek.Friday

        Select Case today
            Case DayOfWeek.Monday
                Console.WriteLine("月曜日:新しい週の始まりです。")
            Case DayOfWeek.Friday
                Console.WriteLine("金曜日:もうすぐ週末です!")
            Case DayOfWeek.Saturday, DayOfWeek.Sunday
                Console.WriteLine("週末ですね!ゆっくり休みましょう。")
            Case Else
                Console.WriteLine("平日です。頑張りましょう。")
        End Select
    End Sub
End Module

金曜日:もうすぐ週末です!

この例では、Enumを使うことで曜日ごとの条件分岐が直感的にわかり、数値で管理するよりもコードが読みやすくなります。

先生と生徒の振り返り会話

生徒

「先生、Enumを使うと数字を覚えなくても、曜日や色を名前で扱えるんですね。」

先生

「その通りです。Enumは関連する定数をグループ化して、プログラムを分かりやすくするためのものです。数字だけで管理するよりも、間違いが減り、コードの可読性も高まります。」

生徒

「数値を指定することもできるけど、普段は名前で扱うのが基本なんですね。」

先生

「そうです。必要に応じて数値を割り当てることもできますが、基本は名前で扱う方がわかりやすいです。そして、Select Case文と組み合わせると条件分岐も直感的になります。」

生徒

「Enumを使いこなせば、プログラムが読みやすくて間違いも減らせるんですね。」

先生

「その通りです。初心者のうちはEnumで名前を付けて管理することを意識すると、コードを書くスキルも自然に上がります。」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET WebFormsでデータベースと連携!初心者でもできる保存と表示の基本
New2
VB.NET
VB.NETでStackTraceを利用してエラー箇所を特定する方法を完全解説!初心者向け例外処理入門
New3
ASP.NET
ASP.NET WebFormsでフォーム入力とデータ送信をマスター!初心者向け解説
New4
VB.NET
VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのEnum(列挙型)の使い方を完全解説!初心者にも分かる定義と活用方法
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの例外処理を完全ガイド!初心者でもわかるSystem.Exceptionの仕組み
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのThrowを完全ガイド!初心者でもわかる例外を自分で発生させる方法
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでデフォルト引数を設定する方法を徹底解説!初心者向け