我在这里有点困惑。如果我的查询没有返回任何为什么不是优惠券null?我该如何检查null?
Coupon coupon;
using (var db = new KupongEntities())
{
coupon = (from p in db.Coupon
where p.CouponID == 123
select p).SingleOrDefault();
}
if (coupon != null)
{
//test
}
答案 0 :(得分:0)
如果我的查询没有返回任何原因,为什么不是优惠券null?
你的问题令人困惑。您是说您正在执行该查询而不是获得null
值,尽管您认为不应该有结果?然后发生了三件事之一:
null
。Coupon
是一个结构。我会给你怀疑的好处,并假设1.和2.不是这样。在最后一种情况下,coupon
将收到Coupon
实例的默认值。结构的默认值是将结构的所有字段设置为其默认值的结构。在这种情况下,你应该说
if(coupon != default(Coupon)) {
}
但是你有一个讨厌的问题,即Coupon
的默认实例可能是你数据库中的有效条目。如果我是你,我会重新考虑制作Coupon
结构。
我应该如何检查null?
好吧,如果Coupon
是参考类型,那么你所拥有的就是好的。如果Coupon
是一个结构,你可以按照我上面的说明进行检查。