检查integer == null

时间:2016-05-25 20:52:24

标签: c# if-statement null integer

我想检查我的Listentry是否为null但我不知道如何。

注意: ID是整数

这是我的代码

export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk

4 个答案:

答案 0 :(得分:11)

如上所述,int不能为null。如果未将值设置为它,则我认为默认值为零。你可以检查0,如果这是你认为它被设置为......

否则,如果您热衷于避免可以为空的整数,则必须将其转换为字符串然后执行检查。

String.IsNullOrEmpty(ID.ToString());

返回一个布尔值,以便将其粘贴到if语句中。

答案 1 :(得分:5)

int不能为空。另一方面,可以为空的int int?可以是。ID。那就是说你要做的检查毫无意义。

int的类型从int?更改为%localappdata%\ASP.NET\DataProtection-Keys,您所做的检查有意义,编译器不会抱怨它。

答案 2 :(得分:0)

由于普通int类型是值类型,因此不能为null

您可以将可空类型int?用于属性ID,该属性基本上是一个结构,允许null或任何int值。有关其他文档,请参阅MSDNthis questionthis question

如果无法更改ID属性的类型,则解决方法可能是选择一个整数作为标记值,​​保证不会出现在您的模型中(例如Int32.MinValue),如大多数生成的ID似乎是正整数)。 如果您不必这样做,请不要这样做,因为这很可能会导致错误。如果您使用该标记值序列化模型,我建议您至少抛出异常。

答案 3 :(得分:0)

您可以使用此ID.HasValue,当有值时返回true,否则返回false