アプリケーションの種類
Visual Studio .NET で作成できるVB.NETアプリケーションのうち、主に使用されるものは次の三つです。
・Windowsアプリケーション
フォームをベースとした、従来のVBがもっとも得意としたWindowsアプリケーション。 VB.NETでは多くの機能が強化されているが、その分変更点(特に言語仕様の)が多く、最初はその違いにとまどうかもしれない。
・クラスライブラリ
ユーザーインターフェイスを持たない、コードベースのクラスライブラリ。 他の.NET言語からも使用できるライブラリを作ることができる。
・コンソールアプリケーション
文字だけからなるコンソールのみを用いたアプリケーション。 主にデバッグやテストなどで用いる。
これ以下では、このうちのコンソールアプリケーションを用いて解説をしていきます。
Hello, world!
まず始めに、おなじみの「Hello, world!」を表示するコンソールアプリケーションを作成してみることにします。 「ファイル」メニューの「新規作成」から「プロジェクト」を選択します。 現れたダイアログから、VB.NETの「コンソールアプリケーション」を選択し、適当なプロジェクト名を入れます。
OKボタンを押すと次のようなソースコードが現れるはずです。
これができあがったら、Visual Studio .NETを使用している場合はCtrl + F5キーを押して実行します。 このときF5だけだとデバッグは可能ですが、実行が終わったとたんにウィンドウが閉じてしまうので、Ctrlを一緒に押してください。 うまく実行すると次のような画面が現れるはずです。
現れたウィンドウの左上に「Hello, world!」と表示されていればこのプログラムは完璧です。 これ以降はこのプログラムをベースにコーディングしていきます。
このプログラムにおけるエントリーポイントは、上から二行目の「Sub Main()」の部分です。 これはMainプロシージャの宣言部分です。 VB.NETではMainと言う名前のプロシージャがアプリケーションのエントリーポイント、つまりプログラムの開始点となります。
Mainプロシージャの形式には数種類ありますが、この形式は一番単純な形式です。 Mainプロシージャではコマンドライン引数を受けることができ、またエラーなどで終了する場合に通知するエラーコードなどを返すこともできます。 それらの形式を次の表にまとめておきます。
Mainプロシージャの形式
| 宣言の形式 | 概要 |
| Sub Main() | コマンドライン引数を受け取らない。 エラーコードを返さない。 |
| Function Main() As Integer | コマンドライン引数を受け取らない。 エラーコードを返す。 |
| Sub Main(ByVal args() As String) | コマンドライン引数を受け取る。 エラーコードを返さない。 |
| Function Main(ByVal args() As String) As Integer | コマンドライン引数を受け取る。 エラーコードを返す。 |
さらに、クラスがエントリーポイントを持つ場合は、これらの宣言の先頭に「Shared」を付加する必要があります。 参考までに、クラスがもっとも長い形式のエントリーポイントを持つ場合のコードを利用して先ほどの「Hello, world!」を表示するプログラムを記述すると次のようになります。