2017-09-29 2 views
0

Ich bekomme Object Null Referenzfehler. Ich habe versucht, nach Null zu suchen, wie unten beschrieben, aber ich bekomme immer noch den Fehler.Wie nach Null-Wert in linq Abfrage

List<Data> gvdta = (List<Data>)Session["Items"]; 
switch (this.dd_search.SelectedValue) 
{ 
    case "emp":     
    var tb = (from ad in gvdta 
       where ad!=null & ad.emp.ToLower().Contains(this.txt_Search.Text.ToLower()) 
       select ad); 
     gvdta = tb.ToList();    
    break; 
} 

Gibt es einen anderen Weg? Bitte helfen Sie. Danke.

+0

Haben Sie überprüft, ob gvdta null ist? –

+2

kann sein 'SelectedValue' ist null, und es sollte sein' && 'nicht' & ' – Irfan

+1

Oder wenn' ad.emp' oder 'this.txt_search.Text' ist null? – Maarten

Antwort

2

Verwenden && Operator in

where ad!=null && ad.emp.ToLower().Contains(this.txt_Search.Text.ToLower()). 

& ist bitweise Operator, wo beide Seiten immer ausgewertet werden. Von & Operator (C# Reference)

Der & Betreiber wertet beiden Operatoren unabhängig von der Wert der ersten.

From && Operator (C# Reference)

Die bedingte AND-Operator (& &) führt eine logisches UND-ihre bool Operanden, sondern wertet nur seinen zweiten Operanden, falls erforderlich.

+0

Ich habe gerade 'where ad! = Null' in' where ad.emp! = Null' geändert und auch && benutzt. Es funktioniert jetzt gut. Vielen Dank. – sumedha