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

VB.NETで定数を使用する方法とは?Constの使用場面と使用方法

 
VB.NETで定数を使用する方法とは?Constの使用場面と使用方法

VB.NETで定数を使用する方法とは?Constを使ってみよう


今回は、VB.NETにおける定数の使用方法について説明します。

VB.NETで定数を宣言する場合、Constを使います。本記事では定数を使用する意図を説明してから、Constの宣言方法、使用方法についてご紹介します。また、Constとも似ている、定数の宣言で用いることのできるReadonly修飾子についても、Constと比較しながら紹介します。

VB.NETで定数の使用方法を知りたい方はぜひご覧ください。

Constの使用場面

Constの使用場面について、定数を宣言しないと、保守性が悪く、修正漏れ、工数増加の要因にもなってしまうというこということと、基本的に変わることのない、プログラム中で変えてはならない値を定数として宣言することで解決することを解説していきます。

定数を宣言しないと?

たとえば円周率、1分あたりの秒数、消費税など、ある不変の値をプログラムの中で使用するケースは珍しくありません。

ソースコードを見てみましょう。
変数で定義した半径と円周率3.14を使って、円の円周、面積の計算結果をコンソールに表示するプログラムです。

見てわかるように、3.14という値がプログラムの中で何度も使用されています。例に挙げた3.14という数値は、おおよその人が円周率と解釈できる有名な定数値のため、プログラム作成者以外の人がソースコードを見た時に、3.14がどのような意味を持った値か把握できるかもしれません。

しかし円周率以外の、たとえば消費税を使用した場合は、0.08や0.1、もしくは8や10といった数字がプログラムに登場することになるでしょう。値だけでは、数値が何を表しているのかがわかりにくくなってしまいます。

また、円周率を3.14から3.14159と変更したいケースもあるでしょう。そんな時、上記のコーディングならば、ソースコードに登場するすべての円周率3.14を一つずつ修正する必要があり、保守性が悪く、修正漏れ、工数増加の要因にもなってしまいます。

定数を宣言することで解決

そんな時、定数を宣言することで解決できます。円周率の例で挙げれば、3.14を定数「PI」として宣言し、定数という箱の中に値をセットすることで、コードを見ただけで値の意味が把握しやすくなります。

そして値を変えたい場合は宣言部分を修正するだけで、一括で容易に定数値を変更することができます。

プログラム中で何度も書き換えられる変数とは異なり、定数は一度宣言した値をプログラム中で変更することができません。そのため、定数という名のとおり、基本的に変わることのない、プログラム中で変えてはならない値を定数として宣言し、利用しましょう。

VB.NETではConstで定数が宣言できます。それではConstの利用方法について解説していきます。

Constの使用方法

VB.NETではConstを用いて、次のように定数を宣言します。

定数名は小文字でも宣言可能ですが、大文字で宣言するケースが多いです。大文字にすることで小文字の変数と区別が付き、ソースコードの可読性が上がります。そのため定数を宣言する時は大文字を使用しましょう。

また、Public、Friend、Protected、Protected Friendとして、適切なコードアクセスレベルで宣言することもできます。
次のソースコードはPublicで定数を宣言する例です。

アクセスレベルを省略した場合はPrivateとして扱われます。

複数の定数を宣言することもできます。
次のように、一行に複数記述することで可能になります。

とはいえ、上記の記述では可読性が下がるため、複数宣言する場合であっても、なるべく一つずつ、次のように複数行に渡って記述しましょう。

それでは定数を使ったプログラムを見てみましょう。
先ほどのプログラムと同様、変数の半径を使って、円の円周、面積の計算結果をコンソール表示するプログラムです。円周率3.14をConst定数として宣言しました。

上記プログラムの実行結果は次のようになります。

円周:62.8
面積:314

円周率3.14をConst定数として宣言し、プログラム中で何度も使用しています。PIという定数名を付けたため、プログラム作成者以外の人がソースコードを見た時も値の意味が把握しやすいでしょう。

3.14を3.14159に変更したい場合は、定数の宣言部分を下記のように変更するだけで修正が済みます。

以上、VB.NETにおけるConstの使い方です。
続いて、Const以外の、定数の宣言に使用できるReadonly修飾子についてご紹介します。

Readonly修飾子

VB.NETではConstのほか、Readonly修飾子を用いて定数を宣言することができます。

次のように宣言します。

Constの時と同じく、定数名は大文字が望ましいでしょう。
Constはクラスメンバのほか、ローカル変数としても宣言可能ですが、Readonly修飾子はクラスメンバとしてのみ宣言が可能であることにご注意ください。
ローカル変数の意味については、参考サイトURLをご参考にしてください。

Constは宣言時に値が確定する必要がありますが、Readonly修飾子はコンストラクタ内で値を書き換えることができる特徴があります。次のプログラムのように、コンストラクタ内で値をセットできますが、Constで定義した場合はエラーになります。

そしてプログラム実行時に値が埋め込まれるReadonly修飾子と違い、Constはコンパイル時点で値が埋め込まれるため、実行速度はReadonly修飾子に比べて早いという特徴があります。

以上説明したように、ConstとReadonly修飾子それぞれに長所と短所があります。実行速度を重視する場合はConstを、コンストラクタで値を確定したい場合はReadonly修飾子を、といったように、それぞれの長所と短所を理解したうえで、どちらを利用するべきか決めましょう。

VB.NETでConstを使ってみよう


いかがだったでしょうか。

VB.NETではConstを使って定数を宣言することができます。また、Constの他にもReadonly修飾子を使うことでも定数を宣言することが可能です。

プログラムで何らかの固定値を使う場合は、誰が見ても数字の意味が把握できるよう、ソースコードの可読性、そして保守性を高めるためにも、ぜひ定数を定義して使用してみましょう。

以上、VB.NETでConstを使う方法でした。ぜひ参考にしてください。


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

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

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

Search

Popular

reccomended

Categories

Tags