1
我一直使用合并运算符(又名“真正令人惊讶的运算符,即”??“)来摆脱虚假的空数据(通常从数据库中提取为允许空值,但我知道永远不会处于该值)。看起来像这样。为什么在C#中比较可空和不可空int?
int serious = GetSomeReallyNonNullValue();
int? phony = GetNullableButActuallyNonNullValue();
int result = serious + (phony ?? 0);
不过,我只注意到下面的实际编译。不能看到它是如何有意义的。我不能直观地看到,如果空值将计算表达式为true或false。 ..
int? test = null;
if (test < 1337) ;
很好的回答。 +1。至于你的问题,为什么DB允许* null * - 好吧,因为人们在做准备时很sl,,懒得做维护和愚蠢的做代码评论。有一点要清楚 - 有时候,我就是那些人。不过这次不是。 :) –