InvalidOperationException Обнуляемый объект должен иметь значение - PullRequest
4 голосов
/ 18 января 2012

Я использую asp.net 4.0 и сервер sql, когда просматриваю приложение только несколько раз, когда вижу эту ошибку, и если щелкнуть какую-нибудь вещь, которую она устраняет, может кто-нибудь подсказать мне, как преодолеть это

'System.InvalidOperationException: обнуляемый объект должен иметь значение.в System.ThrowHelper.ThrowInvalidOperationException (ресурс ExceptionResource)

1 Ответ

7 голосов
/ 18 января 2012

Скорее всего, вы пытаетесь получить доступ к значению обнуляемого объекта со значением NULL.

со страницы MSDN для типов, допускающих обнуление

Значениесвойство возвращает значение, если оно назначено, в противном случае выдается исключение System.InvalidOperationException.

У вас есть различные варианты для устранения ошибки.Например:

int? a=null; // a test nullable object
//Console.WriteLine(a.Value); // this throws an InvalidOperationException

// using GetValueOrDefault()
Console.WriteLine(a.GetValueOrDefault()); //0 (default value for int)

//checking if a.HasValue
if(a.HasValue) Console.WriteLine(a.Value); // does not print anything as the if
                                           // is false

// using the ?? operator
Console.WriteLine(a ?? -1); // prints -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...