什么是可以为空的整数?它可以在哪里使用?
答案 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。尝试分配空值时,它会消除错误。但可以为空的类型不会那样做。
感谢。