次の方法で共有


方法: 1 つの配列を別の配列に割り当てる (Visual Basic)

配列はオブジェクトであるため、他のオブジェクト型と同様に代入ステートメントで使用できます。 配列変数は、配列要素とランクと長さの情報を構成するデータへのポインターを保持し、代入はこのポインターのみをコピーします。

ある配列を別の配列に割り当てるには

  1. 2 つの配列のランク (次元数) と互換性のある要素データ型が同じであることを確認します。

  2. 標準の代入ステートメントを使用して、コピー元の配列をコピー先の配列に割り当てます。 どちらの配列名にもかっこを付けないでください。

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

ある配列を別の配列に割り当てると、次の規則が適用されます。

  • 等しいランク。 コピー先配列のランク (次元数) は、ソース配列のランクと同じである必要があります。

    2 つの配列のランクが等しい場合、次元を等しくする必要はありません。 特定のディメンション内の要素の数は、割り当て中に変更される可能性があります。

  • 要素の型。 両方の配列に 参照型 要素が必要か、両方の配列に 値型 要素が必要です。 詳細については、「 値の型と参照型」を参照してください

    • 両方の配列に値型要素がある場合、要素のデータ型はまったく同じである必要があります。 唯一の例外は、そのEnumの基本型の配列にEnum要素の配列を割り当てることができるということです。

    • 両方の配列に参照型要素がある場合、ソース要素の型は変換先の要素型から派生する必要があります。 この場合、2 つの配列は要素と同じ継承関係を持ちます。 これは配列 共分散と呼ばれます。

上記の規則に違反した場合 (データ型に互換性がない場合やランクが等しくない場合など) は、コンパイラによってエラーが報告されます。 割り当てを試みる前に、コードにエラー処理を追加して、配列に互換性があることを確認できます。 例外をスローしないようにする場合は、 TryCast Operator キーワードを使用することもできます。

こちらも参照ください