Fernando_Costa Ответов: 1

Ошибка нулевой ссылки. Системы.исключение NullReferenceException


У меня есть поле InstituicaoEnsinoId (int), но иногда мне не нужна эта информация, только если campo1=3 других мне нужны. для захвата этого идентификатора я использую:

var instituicaoEnsinoDoOrcamento = models.FirstOrDefault().Documento.InstituicaoEnsinoId.Value;


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

я попробовал использовать

 if (campo1 == 3) {
          var instituicaoEnsinoDoOrcamento = models.FirstOrDefault().Documento.InstituicaoEnsinoId.Value;
}
else {
     var insituicaoEninoDOOrcamento = 0;
} 

это не сработает.

1 Ответов

Рейтинг:
12

Dave Kreskowiak

Это происходит, когда ваш код написан так, чтобы предполагать, что все работает идеально. Это не. Это означает, что вы пытаетесь либо вызвать метод, либо получить доступ к свойству объекта, который не существует или имеет значение null.

Это действительно легко диагностировать. Все, что вам нужно сделать, это поставить точку останова на "обратном виде", где вы передали модель в вид, который терпит крах.

Запустите приложение и доберитесь до точки, где оно выходит из строя, и когда вы вернете представление, оно остановится в точке останова. Наведите курсор мыши на возвращаемую модель, и вы сможете изучить объект и любые его свойства. Либо корневой объект имеет значение null, мы-нуль, InstituicaoEnsinoId является нулем, или вы пытаетесь использовать значение, и это значение null.

Как только вы узнаете, что возвращает null, вы должны вернуться к своему коду и выяснить, почему этот объект является null.

Никто не может сделать ничего из этого для вас. Вы должны использовать отладчик, чтобы выяснить, что пошло не так и где.