2012-01-17 102 views
4

我使用的是asp.net 4.0和sql server,當我在應用程序中只瀏覽一些時候,我看到這個錯誤,如果點擊某件事情可以解決某些問題,可以解決一些問題此InvalidOperationException可爲空的對象必須有一個值

'System.InvalidOperationException:可爲空的對象必須有一個值。 at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

回答

7

您可能試圖訪問null爲null的可爲null的對象的Value。

MSDN page on nullable types

Value屬性返回,如果一個被分配,否則 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 
+0

爲什麼我只得到了一些時間 – user781406 2012-01-17 22:29:11

+0

你還沒有粘貼,是造成異常的代碼,但我可以假設你有時爲空的對象不是空(和a.value中不拋出一個例外)。 – 2012-01-17 22:32:45

+0

這可能有效,謝謝 – user781406 2012-01-17 22:41:03

相關問題