.net column

.NET開発者のためのブログメディア

VB.NETのEnumの使い方は?基礎だけでなく応用テクも解説!

2020年01月10日

「VB.NETのEnumって、どんな時に使うんだろう……」
「VB.NETのEnumの基礎的な使い方や、具体的なサンプルコードが知りたいな……」

と思っていませんか?

Enumは、使いこなすととても便利な列挙型のクラスです。ただ初めて使う場合、具体的な使い方がイメージしづらいと感じる人も多いのではないでしょうか。

そこで今回は、VB.NETの基礎的なEnumの使い方・応用テクニックについて解説します。

PG
VB.NETのEnumを詳しく知りたいです。
SE
VB.NETのEnumは1回覚えると便利なので、ぜひ覚えて使いこなしましょう。

※この記事は、Visual Basicの16.0で動作確認しました。

VB.NETのEnumの使い方は?

Enumは、VB.NETで使える「列挙型のクラス」です。

ただ、「列挙型のクラスって具体的に何?」と思う方も多いでしょう。具体的に言うと、以下のように連続した数値を、一括で扱えるクラスのことです。

Enumの使い方:

たとえば、以下のように値を設定して使えます。

Enumのサンプルコード:

このサンプルでは、「January ~ December」まで、「1 ~ 12の値」を入れています。

PG
これだと「January」しか値の指定がないけど、大丈夫ですか?
SE
Enumは、設定した値以降、連続した数値が自動付与されるから大丈夫!

Enumの中で指定する要素の値は、0から連続した値が設定されます。ただ、値を1から始めたいときや、指定したいときもありますよね。

その場合は、「要素名 = 要素に入れる値」のように入れると、以降を連続した値に設定できるのです。このことから「列挙型」と呼ばれています。

VB.NETのEnumを使いこなすための3つのサンプルコード

次に、VB.NETのEnumを使ったサンプルコードを解説します。

今回は、以下3つに分けて解説しますね。

1. Enumの要素を指定して値を使う方法
2. Enumの要素数を取得する方法
3. Enumの要素名・値を全て取得する方法

1つずつ詳しく解説します。

1. Enumの要素を指定して値を使う方法

1つ目は、「Enumの要素を指定して値を使う方法」です。

サンプルコードは、以下のとおりです。

サンプルコード:

実行結果:

まず、「Dim month_list As Month」で、Enumクラス「Month」の変数「month_list」を用意しています。

次に、「month_list.要素名」を指定することで、Enumクラス「Month」の値を使用しています。このように、Enumに設定した値を簡単に使用できるのです。

2. Enumの要素数を取得する方法

2つ目は、「Enumの要素数を取得する方法」です。

サンプルコードは、以下のとおりです。

サンプルコード:

実行結果:

要素数を取得する方法は、以下です。

要素数があっているか確認するときに便利なので、覚えておきましょう。

3. Enumの要素名・値を全て取得する方法

3つ目は、「Enumの要素名・値を全て取得する方法」です。

・Enumの値をすべて使いたいとき
・Enumの要素名・値を一覧化したいとき

などに便利なので、覚えておきましょう。

サンプルコードは以下のとおりです。

サンプルコード:

実行結果:

Enumクラス「Month」で設定した要素名、値が出力されていますよね。

「[Enum].GetValues(GetType(Month)」でMonthの要素名・値のデータを取得し、その数分処理がループするようにコードを書いています。

Enumクラス + For Each文でループ処理をするケースはよくあるので、覚えておくと良いでしょう。

VB.NETのEnumってどのタイミングで使えばいいの?

PG
Enumの使い方はなんとなくわかったけど、使いどころがよくわからないなぁ...。
SE
最初はわかりづらいよね。ここからは、Enumを使うおすすめのタイミングを解説するね!

VB.NETでEnumを使うおすすめのタイミングは、以下2つです。

・連続した数値を1グループでまとめて管理・利用したい時
・数値のみで扱うと使いづらくなってしまう時

基本的には、数値データを1つにまとめて使いたいときに便利です。ただ、他にも複数の数値データを扱う方法はありますよね。

Enumは列挙型の強みを活かし、連続したデータを扱いたいときにおすすめです。

また、「数値のみで扱うと使いづらいケース」にもおすすめです。例えば、以下のようなケースです。

・性別を数値で扱う時
・列名に使う数値を扱う時

性別を数値で扱う時は、「男性」「女性」を「0」「1」のように設定する必要があります。ただ、「0」「1」だけ見ると、判断しにくいです。

それが、以下のように決まっていたらどうでしょうか。

・Man = 0
・Woman = 1

「Enumクラス名.Man」のように指定して値を利用できるため、コードが読みやすくなり、ミスも減ります。

このように、「単純に数値で扱うとわかりづらいとき」は、Enumを使いましょう。

VB.NETでEnumとあわせて覚えておくと便利な「配列」とは?

ここまで、Enumの使い方や使いどころについて解説しました。ただ、「連続した数値」以外にも複数のデータを一括管理したいときはありますよね。

そんな時に便利なのが、「配列」です。数値以外にも、文字列型、日付型、論理型など様々な型で、データを一括管理できます。

具体的な使い方については以下で詳しく解説しているので、ぜひ参考にしてみてくださいね。

>>> 【VB.NET入門】配列の使い方全まとめ!基礎だけでなく応用も

まとめ

今回は、VB.NETのEnumの基礎的な使い方 + 応用テクニックについて解説しました。

Enumは、連続した数値を扱うときにとても便利です。使い方も簡単なので、サンプルを動かして使い方を覚えておきましょう。

また、最後に紹介した配列も覚えるとより開発がしやすくなるので、おすすめです。ぜひ、VB.NETでEnumを使ってみてくださいね!


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)