.NET中可以为Null的整数

时间:2010-04-29 08:02:07

标签: .net types nullable

什么是可以为空的整数?它可以在哪里使用?

6 个答案:

答案 0 :(得分:16)

可以为空的整数int?Nullable<int>是C#中的值类型,其值可以是null或整数值。它默认为null而不是0,对于表示value not set(或您想要表示的任何内容)等内容非常有用。

答案 1 :(得分:8)

可以以各种方式使用可以为空的整数。它可以有一个值或null。像这里:

int? myInt = null;

myInt = SomeFunctionThatReturnsANumberOrNull()

if (myInt != null) {
  // Here we know that a value was returned from the function.
}
else {
  // Here we know that no value was returned from the function.
}

假设你想知道一个人的年龄。如果该人提交了他的年龄,它位于数据库中。

int? age = GetPersonAge("Some person");

如果像大多数女性一样,这个人没有提交他/她的年龄,那么数据库将包含null。

然后检查age

的值
if (age == null) {
  // The person did not submit his/her age.
}
else {
  // This is probably a man... ;)
}

答案 2 :(得分:0)

我假设你的意思是int? x;,这是Nullable<int> x;

的简写

这是一种向值类型添加空值的方法,在数据库处理等场景中也很有用,其中值也可以设置为null。默认情况下,可空类型包含null,并使用HasValue检查是否已为其赋值。您可以指定值,也可以像普通值类型一样使用它。

答案 3 :(得分:0)

INT?年;

你可以将它们放在你的控制器动作中,如果URL不包含年份参数,则年份为null,而不是将其默认为0,这可能是应用程序的有效值。

答案 4 :(得分:0)

可空类型将接受其值类型和附加空值。对于包含可能未赋值的元素的数据库和其他数据类型有用。

答案 5 :(得分:0)

每当您无法预测特定业务逻辑的结果或输出时,请使用可空类型。

默认值类型(Ex.Int)不能为null。尝试分配空值时,它会消除错误。但可以为空的类型不会那样做。

感谢。