コンパイラ・オプションを指定することで、記述したプログラムの中で変数が宣言されているかどうか、正しくデータ型の変換が行なわれているか、文字列をどのように比較するかなど、コンパイルの仕方を指定することができます。次のように指定することができます。
ソースファイルの先頭で指定します。
プロジェクトのプロパティで指定できます。プロジェクトのプロパティは次のように開きます。ソリューション エクスプローラーのプロジェクト名を右クリックして、表示されるメニューから「プロパティ(R)」をクリックします。
下の図のようなプロパティの画面の「コンパイル」をクリックし、表示される画面の「コンパイル オプション」で設定ができます。
コンパイラ・オプションには次のようなものがあります。
変数の宣言を強制するか、宣言しなくても使用できるかを指定します。
Option Explicitの書式 |
---|
Option Explicit On Option Explicit Off |
● On
変数の宣言を強制します。On/Offを指定しない場合はOnとなります。
次のように変数を宣言せずに使用すると、エラーが表示されます。
● Off
変数の宣言を強制しません。
次のように変数を宣言せずに使用しても、エラーとなりません。
暗黙的なデータ型変換を禁止、もしくは許可するかどうかを指定します。
Option Strictの書式 |
---|
Option Strict On Option Strict Off |
● On
暗黙的なデータ型変換を禁止します。次のような時エラーとなります。
次のように整数型の変数に実数(小数を持つ数値)を代入すると、エラーが表示されます。(整数型では小数部分が表現できずに情報が失われるため)
● Off
暗黙的なデータ型変換を許可します。On/Offを指定しない場合はOffとなります。
次のように整数型の変数に実数を代入しても、エラーは表示されません。
文字列を比較するときの方法を指定します。
Option Compareの書式 |
---|
Option Compare Binary Option Compare Text |
● Binary
文字のバイナリ表現による並べ替え順序に基づいて文字列を比較します。
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | CompareTest1 |
○ プログラム
次のようにプログラムを入力してください。
○ 実行結果
2つの文字は違うと判断されます。
○ 解説
1行目で文字列の比較方法をBinaryとしているので、大文字と小文字を区別して比較します。その為、大文字の「A」と小文字の「a」は違う文字として判断されます。
● Text
大文字と小文字を区別しない、システムで決められた並べ替え順序に基づいて比較します。
○ プロジェクト
次のようにプロジェクトを作成してください。
プロジェクトの種類 | コンソール アプリケーション |
---|---|
プロジェクト名 | CompareTest2 |
○ プログラム
ComapreTest1をコピーして、次のようにプロジェクトを作成してください。
○ 実行結果
2つの文字は同じと判断されます。
○ 解説
1行目で文字列の比較方法をTextとしているので、大文字と小文字を区別しません。その為、大文字のAと小文字のaは同じ文字として判断されます。
変数の宣言に対してプログラム中でデータ型を推論させるかどうかを指定します。
Option Inferの書式 |
---|
Option Infer On Option Infer Off |
● On
データ型の推論を有効にします。
次のようにデータ型を指定せずに変数に代入すると、変数のデータ型が推論されます。(変数にマウスカーソルを当てると表示されるメッセージに注目)
● Off
データ型の推論を無効にします。
次のようにデータ型を指定せずに変数に代入すると、変数のデータ型が推論されません。(変数にマウスカーソルを当てると表示されるメッセージに注目)