这可能是一个愚蠢的问题,但我尝试找到答案而没有找到任何答案。
在vb.net中,负数被视为“无”(null)吗?
调试模式:
上面是对db的查询,以找到区域为'value'的所有值。它是一个剃刀视图中的列表,因为我不希望默认显示任何内容,所以我将区域ID设置为-1,因为数据库中没有任何值,它应该返回任何内容。
然而,它仍然返回区域为NULL的值。那怎么样?
答案 0 :(得分:3)
负值不为空。但是,您使用Or
代替OrElse
(http://msdn.microsoft.com/en-us/library/ea1sssb2.aspx)
或者导致语句的两边被调用,并且它不会短路。此外,您应该在值检查之前调用null检查。如果不使用空检查进行短路,则最终会调用空值(m.DistrictId
)与非空值(districtId
)的比较。