タイトル | : Re: インスタンスについて |
記事No | : 9481 |
投稿日 | : 2009/10/19(Mon) 18:18 |
投稿者 | : 魔界の仮面弁士 |
> AとBは、コードは違えど意味は一緒ではないですか? いえ、違います。
> A Dim i As Integer = 5 > Dim item() As ToolStripMenuItem > item(i) = New ToolStripMenuItem 2 行目では、1次元配列を作成していますが、この変数は Nothing です。 item(i) にはアクセスできないため、3 行目の代入処理はエラーとなるでしょう。
item(i) に ToolStripMenuItem を代入する前に、 item へ配列インスタンスを代入するか、もしくは ReDim ステートメントを呼び出す必要があります。
> B Dim i AS Integer = 5 > Dim item() As ToolStripMenuItem = New ToolStripMenuItem(5) {} この場合、先ほどとは異なり、変数 item は Nothing では無く、 item(0) などの要素を持った 1 次元配列となります。 ただし、item(0) や item(2) などの各要素は、初期値 Nothing のままなので、 やはりこの後には、item(i) に ToolStripMenuItem を代入する必要があるでしょう。
|