93

我 90% 确定我之前在 stackoverflow 上看到过这个答案,事实上我从未见过“int?” 在这里看到之前的语法,但无论我如何搜索我都找不到以前的帖子,这让我发疯。

可能是我不小心吃到了有趣的蘑菇,但如果我不是,如果有人能找到或者重新解释一下,请指出之前的帖子吗?我的 stackoverflow search-fu 显然太低了....

4

7 回答 7

128

诠释?是 的简写Nullable<int>

可能是您正在寻找的帖子。

于 2008-09-23T15:22:01.937 回答
31

诠释?是可空的。

MSDN:使用 Nullable 类型(C# 编程指南)

于 2008-09-23T15:22:10.970 回答
24

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

于 2008-09-23T15:22:28.957 回答
7

int 属于 System.ValueType 并且不能将 null 作为值。在处理元素可以具有空值的数据库或其他类型时,检查元素是否为空可能很有用。那是什么时候int?发挥作用。诠释?是一个可为空的类型,其值范围为 -2147483648 到 2147483648 和 null。

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

于 2016-10-04T17:55:36.917 回答
1

Int 不能接受 null 但如果开发人员使用的是 int? 然后将 null 存储在 int 中,例如 int i = null; // 不接受 int? 我=空;// 它的工作主要用于 MVC Pagelist 中的分页

于 2019-04-10T10:42:35.233 回答
0

符号?在 int 之后意味着它可以为空。

这 ?符号通常用于变量可以接受空值或整数或者返回整数或空值的情况。

希望使用上下文有所帮助。通过这种方式,您不仅限于处理整数。

于 2018-05-10T07:06:31.437 回答
0

当您期望整数中有一个空值时,您可以使用它,尤其是当您使用 CASTING ex 时:

x= (int)y;

如果 y = null 那么你将有一个错误。你必须使用:

x = (int?)y;
于 2019-01-18T07:04:57.053 回答