2013-04-15 104 views
-4

我是从我的数据库获取的东西,在分贝值可以为空,但我得到这个错误当我检查空值时,为什么会得到NullReferenceException?

System.NullReferenceException:未设置为一个对象的实例 对象引用。

我以为我已经通过使用? “”也表示如果在db中没有找到任何值,则将其设置为空字符串。

TextBox1.Text = dgb.Foretag ?? ""; 
TextBox2.Text = dgb.Ort ?? ""; 
+13

也许'dgb'为空? – sloth

+0

dgb为空仍然会触发异常。 –

+0

最有可能是dgb为空。尝试调试并使用手表。 – Tan

回答

5

你应该检查你所访问的性质的东西不为空:

if(dgb != null) { 
    TextBox1.Text = dgb.Foretag ?? ""; 
    TextBox2.Text = dgb.Ort ?? ""; 
} 
6

dgb.Foretag ?? ""回报""如果Foretag为null。你检查过dgb是否为空?

1

dgb可能是null。你可以检查你的dgb是不是null或不喜欢;

if(dgb != null) 
{ 
    ... 
} 

对于?? Operator

,如果操作数不为空返回左侧操作数;否则为 它返回右操作数。

相关问题