2013-04-15 2 views
-4

는 내 DB에서 물건을 받고 있어요와 DB의 값이 널 (null)이 될 수 있지만,이 오류를null을 검사 할 때 NullReferenceException이 발생하는 이유는 무엇입니까?

System.NullReferenceException 얻을 : 개체의 인스턴스 로 설정되지 Object 참조.

나는 그것을 사용하여 안전하다고 생각했습니다. ""db에서 값을 찾지 못하면 빈 문자열로 설정합니다.

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

'dgb'이 null 일 수 있습니까? – sloth

+0

dgb가 null이면 여전히 예외가 트리거됩니다. –

+0

dgb가 null 일 가능성이 큽니다. 시계를 디버그하여 사용하십시오. – Tan

답변

5

당신은 일이 당신의 속성에 액세스하고 있는지 확인해야한다가 null되지 않습니다 :

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

dgb.Foretag ?? "" 반환 ""을 Foretag가 null의 경우. dgb가 null인지 확인 했습니까?

1

귀하의 dgb 아마 null입니다. dgbnull인지 여부를 확인할 수 있습니다. 피연산자가 null가 아닌 경우 ?? Operator

를 들어

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

그것은 왼쪽 피연산자 을 반환 그렇지 않으면 오른쪽 피연산자를 반환합니다.

관련 문제