VB.NET 列挙型 Enum

VB.NETでの列挙型の書き方を紹介していきます。

列挙型とは、複数の定数を1つにまとめることができる便利な型です。

私は、DataTableの列名や、Excelを操作する時の列名などによく使っています。

よく使うのですが、使い方を忘れてしまう時が、よくあるので備忘録として残していきます。

それでは、さっそく使い方を見てみましょう。

VB.NET 列挙型 Enum

Enum書き方

基本的な書き方を紹介していきます。

Enum 列挙型の命名
    項目1
    項目2
    ・・・ 
End Enum

このように、Enumで型を宣言することができます。

宣言すると、
項目1に0、
項目2に1
と続いていきます。

 

また、任意の値を設定することもできます。

Enum 列挙型の命名
    項目1 = 100
    項目2
    ・・・
End Enum

このように記載すると、

項目1に100、
項目2に101、
と値を代入することもできます。その後、値を設定していないと、1ずつ足されていきます。

 

値を使用する時は、「列挙型.項目1」で列挙型の数値を取得することができます。

列挙型.項目1

 

また、「列挙型.項目1.ToString」と書くことで、項目名を取得することもできます。

列挙型.項目1.ToString

 

 

Enum サンプル

ここからは、実際にサンプルを見てみましょう。

今回は、データテーブルを作成し、そのデータをDataGridViewに表示する。プログラムを作成しました。

DataTableを作成する時に、Enumを使用して作成しています。

Public Class frmEnum

    Enum hironimo
        ID
        NAME
        HEIGHT
        WEIGHT
    End Enum

    Private Sub FrmEnum_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim dt As New DataTable
        dt.Columns.Add(hironimo.ID.ToString)
        dt.Columns.Add(hironimo.NAME.ToString)
        dt.Columns.Add(hironimo.HEIGHT.ToString)
        dt.Columns.Add(hironimo.WEIGHT.ToString)

        Dim dtrow As  DataRow
        dtrow = dt.NewRow
        dtrow(hironimo.ID) = "1"
        dtrow(hironimo.NAME) = "ひろ"
        dtrow(hironimo.HEIGHT) = 150
        dtrow(hironimo.WEIGHT) = 50

        dt.Rows.Add(dtrow)

        dgvDetail.DataSource = dt

    End Sub
End Class

 

3行目~8行目:列挙型を宣言しています。

13行目~18行目:列挙型.項目.ToStringを使用することで、項目をそのまま使用することができます。
例の、hironimo.ID.ToString は "ID"と同じ意味となります。なのでデータテーブルの列名は、"ID"となっています。

20行目~23行目:列挙体.項目で数値を取得することできます。
例の場合、hironimo.IDは0、hironimo.NAMEは1を取得できます。
0番目の列や1番目の列を指定する時によく使っています。

列挙体にすることで、項目名と列番号を紐づけることができるので、わかりやすくとても便利です。

結果

列名が、hironimo.ID.ToString と設定したところは、「ID」となっていることが確認できました。

各項目の値も、指定した値が表示されています。

 

まとめ

Enumの書き方

Enum hironimo
    ID
    NAME
    HEIGHT
    WEIGHT 
End Enum

 

定数をひとまとめにする時に使用すると、とても便利です。

私は、例のようにDBの値をデータテーブルに格納する際に、項目をEnum型で記載しておいて、わかりやすくする使い方が気に入っています。

Enum型でまとめておくと、DBの項目変更があったときに、Enumを修正するだけで、全ての項目が修正されるので便利です。

「dt.Rows(0),Item(0).ToString」と固定で項目「Item(0)」を指定していると全ての個所を見直す必要があります。

Enumを使用して、ソースをまとめてみましょう。

 

VB.NETの記事一覧

 

おすすめの記事