1

ここにこのコードがあります:

Dim MasterIndex As String()()

Private Function Lookup(ByVal Search_path As String) As Integer
    Dim i As Integer = 0
    Do Until MasterIndex(i)(0) Is Nothing
        If Search_path = MasterIndex(i)(0) Then
            Return MasterIndex(i)(1)
        End If
    Loop
    Return -1
End Function

Object reference not set to an instance of an objectこれにより、回線でエラーが発生しDo Untilます。どうしてこれなの?どうすればこれを修正できますか?

4

2 に答える 2

4

MasterIndex 変数は割り当てられないため、例外があります

New() コンストラクターを呼び出して、最初に MasterIndex をインスタンス化する必要があります。

 Dim MasterIndex As new String()()

Lookup 関数を呼び出す前にデータを入力します。

何かのようなもの:

 Private MasterIndex As String()() = New String()() {New String() {"A1", "A2"}, New String() {"B1", "B2"}}
于 2011-10-14T20:43:18.233 に答える
1

MasterIndex が初期化されていないか、MasterIndex(0) が初期化されていません。

プログラムの他の場所でそれを行うと仮定して、その変数を初期化するコードを表示できますか?

その行にブレークポイントを置いて MasterIndex を調べるとどうなるでしょうか?

于 2011-10-14T20:43:27.123 に答える