'int?'之间有什么区别?和C#中的'int'?
题
我90%肯定我之前在stackoverflow上看过这个答案,事实上我从未见过<!> quot; int?<!> quot;在这里看到它之前的语法,但无论我如何搜索我都找不到上一篇文章,这让我发疯了。
我可能偶然吃了有趣的蘑菇,但如果我不是,有人可以指出以前的帖子,如果他们能找到它或重新解释它吗?我的stackoverflow search-fu显然太低了....
解决方案
INT?是Nullable<int>
的缩写。
此可能是您要查找的帖子。
其他提示
INT?是Nullable。
MSDN:使用可空类型(C#编程指南)
INT?与Nullable是一回事。它允许你有<!> quot; null <!> quot; int中的值。
int属于System.ValueType,不能将null作为值。处理数据库或元素可以具有空值的其他类型时,检查元素是否为空可能很有用。那是什么时候?发挥作用。诠释?是一个可以为null的类型,其值可以从-2147483648到2147483648并且为null。
符号?在int之后意味着它可以为空。
?符号通常用于变量可以接受null或整数的情况,或者返回整数或null。
希望使用环境有所帮助。通过这种方式,您不仅限于处理整数。
当您期望整数中的空值时,尤其是在使用CASTING时,可以使用它 例如:
x= (int)y;
如果y = null则会出错。 你必须使用:
x = (int?)y;
Int不能接受null但是如果开发人员使用int?然后你在int中存储null 喜欢 int i = null; // 不接受 诠释? i = null; //它的工作 主要用于MVC页面列表中的分页
不隶属于 StackOverflow