まず、配列の宣言について見ていきます。 配列を格納する変数を宣言するには、次のようにします。

配列変数の宣言
using System;

class Sample {
  static void Main()
  {
    string[] arr1;  // string型の配列を格納する変数
    int[] arr2;     // int型の配列を格納する変数
    double[] arr3;  // double型の配列を格納する変数
  }
}

VBでは、丸括弧( )を変数名の後ろに付けた場合も、型名の後ろに付けた場合も、同じ配列変数として扱われます。 どちらも意味は同じです。

このようにして宣言した変数は、配列が格納できる変数が用意されるだけで、実際にはどの配列も参照していない(配列の実体を参照していない)状態となっています。 C#では未初期化の変数、VBではヌル参照の変数となります。 この状態から、配列を作成して変数に代入したり、他の変数が参照している配列やメソッドの戻り値として返される配列などを変数に代入したりする必要があります。