方法 : 構造体を宣言する

更新 : 2007 年 11 月

構造体宣言は、Structure ステートメント で開始し、EndStructure ステートメントで終了します。この 2 つのステートメントの間に、少なくとも 1 つの要素を宣言する必要があります。要素にはすべてのデータ型を使用できますが、少なくとも 1 つは、非共有変数または非共有で非カスタムのイベントのいずれかである必要があります。

構造体の宣言で構造体の要素を初期化することはできません。構造体型の変数を宣言するときは、変数をとおして要素にアクセスすることにより、要素に値を代入します。

構造体とクラスとの違いに関する詳細については、「構造体とクラス」を参照してください。

デモの目的で、従業員の名前、内線番号、および給与を追跡する状況を考えてみます。構造体により、単一の変数でこれを行うことができます。

構造体を宣言するには

  1. 構造体の開始ステートメントと終了ステートメントを作成します。

    Public (Visual Basic) キーワード、Protected (Visual Basic) キーワード、Friend (Visual Basic) キーワード、または Private (Visual Basic) キーワードを使用して、構造体のアクセス レベルを指定できます。または既定の Public に設定できます。

    Private Structure employee
    End Structure
    
  2. 構造体の本体に要素を追加します。

    構造体は、少なくとも 1 つの要素を持つ必要があります。すべての要素を宣言し、それぞれのアクセス レベルを指定する必要があります。キーワードを指定せずに Dim ステートメント (Visual Basic) を使用する場合、アクセシビリティは既定で Public になります。

    Private Structure employee
        Public givenName As String
        Public familyName As String
        Public phoneExtension As Long
        Private salary As Decimal
        Public Sub giveRaise(raise As Double)
            salary *= raise
        End Sub
        Public Event salaryReviewTime()
    End Structure
    

    上の例の salary フィールドは、Private です。つまり、含まれているクラスからでも、構造体の外部ではアクセスできません。ただし、giveRaise プロシージャは Public であるため、構造体以外から呼び出すことができます。同様に、構造体以外から salaryReviewTime イベントを発生させることができます。

    変数、Sub プロシージャ、およびイベントに加え、定数、Function プロシージャ、およびプロパティも構造体で定義できます。既定のプロパティとしてプロパティを 1 つ指定できます。ただし、少なくとも 1 つの引数を指定する必要があります。イベントは Shared (Visual Basic)Sub プロシージャを使用して処理できます。詳細については、「方法 : 既定のプロパティを宣言する/呼び出す (Visual Basic)」を参照してください。

参照

処理手順

データ型のトラブルシューティング

概念

Visual Basic におけるデータ型

複合データ型

構造体の変数

構造体とその他のプログラミング要素

構造体とクラス

参照

ユーザー定義型

その他の技術情報

基本データ型

データ型の実装

構造体 : 独自のデータ型