В экземпляре объекта не задана ссылка на объект? VB.NET - PullRequest
1 голос
/ 15 октября 2011

У меня есть этот код здесь:

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.Почему это?Как я могу это исправить?

Ответы [ 2 ]

4 голосов
/ 15 октября 2011

Переменная MasterIndex никогда не назначается, поэтому у вас есть исключение

Сначала необходимо создать экземпляр MasterIndex, вызвав конструктор New ():

 Dim MasterIndex As new String()()

и заполните его данными перед вызовом функции Lookup.

Что-то вроде:

 Private MasterIndex As String()() = New String()() {New String() {"A1", "A2"}, New String() {"B1", "B2"}}
1 голос
/ 15 октября 2011

Либо MasterIndex не инициализирован, либо MasterIndex (0) не инициализирован.

Можете ли вы показать код, который инициализирует эту переменную, при условии, что вы делаете это где-то еще в программе?

Чтопроизойдет, если вы поставите точку останова на этой строке и изучите MasterIndex?

...