方法 : 要素を持たない配列を作成する
更新 : 2007 年 11 月
要素を持たない配列は、長さ 0 の配列と呼ばれます。長さ 0 の配列を保持する変数には、Nothing 値が保持されているのではありません。
次のような場合に、長さ 0 の配列を作成する必要があります。
コードで、Length や Rank などの Array クラスのメンバにアクセスする必要がある場合、または NullReferenceException 例外を発生させることなく、UBound 関数 (Visual Basic) などの Visual Basic 関数を呼び出す必要がある場合。
特別なケースですが、Nothing をチェックする必要性をなくすことによって利用側のコードを簡素化する場合。
コードで、長さ 0 の配列を 1 つ以上のプロシージャに渡す必要があるアプリケーション プログラミング インターフェイス (API: Application Programming Interface) とやり取りする場合、または API の 1 つ以上のプロシージャから長さ 0 の配列が返される場合。
要素を持たない配列を作成するには
配列の次元のいずれかを -1 に宣言します。次の例では、文字列型 (String) (Visual Basic) の要素を持つ配列を保持するよう変数を宣言していますが、初期の状態では空に設定しています。
Dim twoDimensionalStrings(-1, 3) As String
このステートメントを実行すると、twoDimensionalStrings 変数内の配列は、長さ 0 の 2 次元配列になります。この配列は空ですが存在はしています。したがって、この配列を指す変数は Nothing と等価ではありません。また、空でない配列を作成して twoDimensionalStrings に代入することもできます。
一方、次の例では、初期状態ではいずれの配列もポイントしない配列変数を宣言します。
Dim twoDimStrings( , ) As String
上の例の twoDimensionalStrings とは異なり、変数 twoDimStrings の値は Nothing です。