kuharan Ответов: 1

Исключение нулевой ссылки в коде.


Вот исходный код. Ссылка На Github[^]

An unhandled exception of type 'System.NullReferenceException' occurred in Analysis (PCA).exe

Additional information: Object reference not set to an instance of an object.


Это произошло в файле MainForm. cs для
distributionView.DataSource= pca.Components;


Как мне решить эту проблему?

Что я уже пробовал:

Я пробовал использовать новый оператор, но это не решает проблему.

Использовал отладчик и обнаружил, что distributionView равен null и генерирует это исключение. Но новый оператор не решит мою проблему. Так как некоторые графики не будут работать, если я использую новые.

Его объявили как
private Accord.Controls.ComponentView distributionView

NotPolitcallyCorrect

"Как мне это решить?", как и все остальные, кто когда-либо получал исключение нулевой ссылки. Вы отлаживаете свой код, находите нулевой объект и затем исправляете свой код.

CHill60

Один из distributionView, pca или pca. Компоненты равны нулю. Отладьте, чтобы выяснить, что именно, а затем исправьте это. Очень немногие люди собираются удосужились взглянуть на свой код на GitHub

1 Ответов

Рейтинг:
0

Patrice T

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.

Цитата:
Отладчик показал, что distributionView равен null. Как мне решить эту проблему сейчас? Его объявили частным соглашением.Управления.ComponentView distributionView

Теперь поставьте точку останова в предыдущей строке, где вы установили значение distributionView, вероятно, именно там и происходит сбой.


kuharan

Отладчик показал, что distributionView равен null. Как мне решить эту проблему сейчас? Его объявили частным соглашением.Управления.ComponentView distributionView