C# 如何在linq查询中检查空值
我得到对象空引用错误。我试着像下面那样检查null,但仍然得到错误C# 如何在linq查询中检查空值,c#,linq,C#,Linq,我得到对象空引用错误。我试着像下面那样检查null,但仍然得到错误 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().
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;
}
List gvdta=(List)Session[“Items”];
开关(此.dd\u搜索.SelectedValue)
{
案例“emp”:
变量tb=(来自gvdta中的ad)
其中ad!=null&ad.emp.ToLower()包含(this.txt_Search.Text.ToLower())
选择广告);
gvdta=tb.ToList();
打破
}
还有别的办法吗?请帮助。谢谢。在中使用
&&
运算符
where ad!=null && ad.emp.ToLower().Contains(this.txt_Search.Text.ToLower()).
&
是一种按位运算符,始终对两边进行求值。从
无论第一个运算符的值是多少,&运算符都会对两个运算符进行求值
价值观
条件AND运算符(&&)对其bool执行逻辑AND
操作数,但仅在必要时计算其第二个操作数
在中使用
&
运算符
where ad!=null && ad.emp.ToLower().Contains(this.txt_Search.Text.ToLower()).
&
是一种按位运算符,始终对两边进行求值。从
无论第一个运算符的值是多少,&运算符都会对两个运算符进行求值
价值观
条件AND运算符(&&)对其bool执行逻辑AND
操作数,但仅在必要时计算其第二个操作数
您检查过gvdta是否为空吗?可能是您的
选择值
为空,并且它应该是&
而不是&
,或者如果ad.emp
或this.txt\u search.Text
为空,请在广告中使用&
运算符=null&&ad.emp.ToLower()包含(this.txt\u Search.Text.ToLower())
&
是一种按位运算符,始终对两边进行求值。@Fabio它应该是一个答案您是否检查了gvdta是否为空?可能是您的SelectedValue
为空,它应该是&
而不是&
或者如果ad.emp
或此.txt\u search.Text
为空?请在where ad中使用&
运算符=null&&ad.emp.ToLower()包含(this.txt\u Search.Text.ToLower())
&
是位运算符,其中两边都将始终求值。@Fabio它应该是一个答案我刚刚更改了其中ad=空
到其中ad.emp!=空
,也使用&&。现在工作正常了。谢谢。我刚换了where广告=空
到其中ad.emp!=空
,也使用&&。现在工作正常了。谢谢