2011-02-07 9 views
0

次のコードが実行されると、 'NullReference Exception'というエラーが発生します。オブジェクト参照がオブジェクトのインスタンスに設定されていません。 TestClassには、整数プロパティTestWordのGetメソッドとSetメソッドがあります。 TArrの6つの要素にTestWordを設定するには、次のように変更する必要がありますか?クラス配列のヘルプ

Dim TArr(5) As TestClass 

For i As Integer = 0 To 5 
    TArr(i).TestWord = i * 10 
Next 

答えて

3

TArrを何らかの配列で初期化する必要があります。あなたがそれをしないと、存在しないオブジェクトへの参照に過ぎません。そのため、null参照例外が発生します。

Dim TArr(5) As TestClass < ----これは、TestClassの配列がTestClassのインスタンスで埋められることを意味するわけではありません。 5つのTestClassインスタンスを割り当てる必要があります。

あなたはループのためにそれを行うことができます。

For i As Integer = 0 To 5 
    TArr(i) = new TestClass() 
    TArr(i).TestWord = i * 10 
Next 
+0

パーフェクト - 説明に感謝。 – John

+0

いいえ、あなたも大丈夫です。 –