'int?'有什么区别 和'int'在C#中?

我90%确定我在之前看到过这个答案,实际上我从来没有见过“int?” 语法之前,在这里看到它,但无论我怎么search我找不到以前的post,这让我疯狂。

有可能是我偶然吃了有趣的蘑菇,但是如果不是的话,有人可以指出以前的post,如果他们能够find它或重新解释吗? 我的计算器searchfu显然太低….

诠释? 是Nullable<int>简写。

这可能是你正在寻找的职位。

诠释? 是可空的。

MSDN: 使用可空types(C#编程指南)

诠释? 和Nullable是一样的。 它允许你在你的int中有“null”值。

int属于System.ValueType,不能有null值作为值。 在处理数据库或其他types的元素可能具有空值的情况下,检查元素是否为空可能是有用的。 那是什么时候int? 发挥作用。 诠释? 是一个可以为空的types,其值可以是-2147483648到2147483648之间的空值。

参考: https : //msdn.microsoft.com/en-us/library/1t3y8s4s.aspx