如何检查int以查看它是否为null或具有值

时间:2017-01-19 19:46:10

标签: c#

不是全部,这不是下面评论中列出的这个问题的重复。

How to create structure with null value support?

*这个问题是如何使用If Then来测试如何测试... 并且Vb.Net被标记了,因为我确信这也发生在vb.net中。

如果整数为空,如何检查c#:

尝试过:

if (INIT_VID == null) 
   {

   }

但是这会抛出一个警告,指出表达式的结果总是为'false',因为'int'类型的值永远不会等于'int'类型的'null'。

那么你如何测试呢?谢谢!

所以有人要求查看代码......希望负面选民不会对投票感到高兴:

来自mvc FORM

 <input type="hidden" id="INITVID" name="INIT_VID" class="control-label col-md-2" />

在mvc CONTROLLER中

 public ActionResult Edit(int INIT_VID,....

 if (INIT_VID != 0) //Added this after finding out that you have to test for zero

 {
 if (INIT_VID != vRS_REQUEST.RES_VEH_ID)
 ...  

编辑:我想我错了,也许是在公共行动元素中宣布INIT_VID ......

再次感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

  

那么你如何测试呢?

你没有,编译器告诉你原因。 int不是可以为空的类型,因此永远不会成为null,因此条件将始终具有相同的结果。

您可能会想到int?Nullable<int>的缩写),可以null。在这种情况下,测试可能类似于:

if (!INIT_VID.HasValue)
{
    // it was null
}

答案 1 :(得分:0)

在C#中,为了能够检查int是否为null,它应该是一个可以为null的int。 例如:
int? VAR_NAME
if (VAR_NAME == null)
然后你可以检查它为空,否则你不能,我害怕。

答案 2 :(得分:0)

int永远不能为null。相反,如果没有初始化,它将保持默认值0。因此,您的情况将始终返回false。

但是,如果要查找可为空的整数类型,请尝试使用int?。