VB6では、Type ...End Type構造を使用して構造体を宣言していました。VB.NETではこれがなくなり、Structureステートメントを使用して構造体を宣言することになります。
.NETの構造体はプロパティやメソッドを持つことができ、インターフェイスを実装でき、パラメータ化されたコンストラクタを持つこともできるといった具合に、クラスの機能のほとんどをサポートしているため、両者はとても似通っています。しかし構造体は値型で、クラスは参照型という大きな違いがあります。それ以外にも構造体は継承ができない、イベントを扱えないなどの点でクラスと異なります。このため一般的には、小さなデータを頻繁に扱う場合は構造体のほうが処理が早いと言えそうです。詳しくはヘルプの「構造体とクラス」をご覧ください。
以下に簡単な構造体の宣言と使用法を示します。
'構造体の宣言 Public Structure Test1 Private messageString As String Public Property Message() As String Get Return messageString End Get Set(ByVal Value As String) messageString = Value End Set End Property Public Sub PrintMessage() Console.WriteLine(messageString) End Sub End Structure Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim sTest1 As Test1 sTest1.Message = "これはテストです。" sTest1.PrintMessage() End Sub
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。