Необъяснимое исключение нулевой ссылки в VB.NET - PullRequest
0 голосов
/ 04 марта 2011

У меня есть приложение для работы с файлами. Он должен работать с файлами по одному символу за раз. Я использую ArrayList для хранения данных. Вот код, который вызывает проблему:

Dim fileData As ArrayList = Nothing  
Dim temp As Char = Nothing  
While Not EOF(open_file_number)  
    Input(open_file_number, temp)  
    fileData.Add(temp)  
End While  

Строка кода, которая вызывает исключение Null Reference, - это то место, где я (пытаюсь) присвоить значение temp новому элементу в fileData ArrayList. У кого-нибудь есть представление о том, что здесь происходит? Спасибо

Ответы [ 2 ]

1 голос
/ 04 марта 2011

Ну, fileData установлен на Nothing, поэтому, конечно, он вызовет NullReferenceException, когда вы наберете .Add. Попробуйте установить его на новый экземпляр:

Dim fileData As New ArrayList
0 голосов
/ 19 июня 2013

Что вам нужно сделать, это изменить следующую строку:

Dim temp As Char = Nothing  

Кому:

Dim temp as Char = ''

Там есть разница.Я испытал то же самое со строковыми переменными и получил ту же проблему.

Dim s as String = nothing

приводит к указателю NULL при попытке присвоить значение 's'.

Dim s as string = String.empty

Не.

...