方法 : 複数の要素型が混在する配列を作成する

更新 : 2007 年 11 月

配列で宣言するのは 1 つのデータ型だけです。したがって、すべての要素はそのデータ型である必要があります。すべての要素は綿密に関連し合っており、類似した型の値を持つため、通常はこの制約は望ましいものです。しかし、場合によっては要素が綿密に関連していなかったり、類似した型の値を持っていない場合があります。そのような場合は、オブジェクト型 (Object)の配列要素を宣言できます。個々の要素は、数字、文字、文字列、オブジェクト、および他の配列など、異なる種類のデータをポイントできるようになります。

異なるデータ型を持つ要素が混在する配列を作成するには

  • 配列をObjectとして宣言します。Object要素の配列を保持する変数を宣言して、配列を作成し、それを変数に割り当てる例を次に示します。

    Dim mixedTypes As Object() = New Object() {}
    

    Object データ型を使用する場合、特定のデータ型を指定した場合に比べてパフォーマンスの効率は劣ることを念頭に置いてください。 これは実行時に、ボックス化とボックス化解除と呼ばれる操作によって、通常のデータ型とObjectの間でデータ変換を行う必要があるためです。これを頻繁に実行すると、このような追加の処理によってパフォーマンスに影響を及ぼす場合があります。

配列内の異なるデータ型の要素にアクセスするには

  • 通常の方法で要素を読み取りまたは書き込みます。任意のデータ型の要素をObject配列に保存したり、配列から取得したりできます。

    異なるデータ型の情報をObject配列に挿入する実際の例を次に示します。配列内の従業員情報を変数 employeeData に保存します。

    Dim employeeData(3) As Object
    employeeData(0) = "Alex Hankin"
    employeeData(1) = "4242 Maple Street"
    employeeData(2) = 48
    employeeData(3) = #8/23/1956#
    

    Object配列から異なるデータ型の情報を取得するには、次の例で示すように、要素を適切なデータ型に変換します。

    Dim age As Integer = CInt(employeeData(2))
    Dim birthDate as Date = CDate(employeeData(3))
    

要素が互いに類似していない、または関連していない場合、別の方法として、要素をObject配列ではなく、コレクションに入れます。詳細については、「配列の代わりとしてのコレクション」を参照してください。

参照

処理手順

方法 : 配列変数を宣言する

方法 : 配列を作成する

方法 : 多次元配列を作成する

方法 : 配列の配列を作成する

方法 : 要素を持たない配列を作成する

方法 : 配列変数を初期化する

配列のトラブルシューティング

概念

Visual Basic の配列の概要

配列の代わりとしてのコレクション

その他の技術情報

Visual Basic における配列