我 90% 确定我之前在 stackoverflow 上看到过这个答案,事实上我从未见过“int?” 在这里看到之前的语法,但无论我如何搜索我都找不到以前的帖子,这让我发疯。
可能是我不小心吃到了有趣的蘑菇,但如果我不是,如果有人能找到或者重新解释一下,请指出之前的帖子吗?我的 stackoverflow search-fu 显然太低了....
诠释?是 的简写Nullable<int>
。
这可能是您正在寻找的帖子。
诠释?是可空的。
诠释?和 Nullable 是一样的。它允许您在 int 中有“null”值。
int 属于 System.ValueType 并且不能将 null 作为值。在处理元素可以具有空值的数据库或其他类型时,检查元素是否为空可能很有用。那是什么时候int?发挥作用。诠释?是一个可为空的类型,其值范围为 -2147483648 到 2147483648 和 null。
Int 不能接受 null 但如果开发人员使用的是 int? 然后将 null 存储在 int 中,例如 int i = null; // 不接受 int? 我=空;// 它的工作主要用于 MVC Pagelist 中的分页
符号?在 int 之后意味着它可以为空。
这 ?符号通常用于变量可以接受空值或整数或者返回整数或空值的情况。
希望使用上下文有所帮助。通过这种方式,您不仅限于处理整数。
当您期望整数中有一个空值时,您可以使用它,尤其是当您使用 CASTING ex 时:
x= (int)y;
如果 y = null 那么你将有一个错误。你必须使用:
x = (int?)y;