我一直在阅读一个c#教程,它已经提到了可以为空的类型,并且在特定的上下文中我已经通过了这个例子
int? i1 = i2;
我无法理解它究竟做了什么以及它意味着什么。
答案 0 :(得分:5)
这意味着,声明一个可为空的int
类型,并为其指定i2
的值。
由于i1
具有可空类型int?
,i2
可以是int
字面文件,如5
,类型为int
的变量,类型int?
的变量或文字值null
。
答案 1 :(得分:3)
它会创建一个可以为空的整数。这意味着您可以设置i1 = null;
并轻松测试其无效i1.HasValue
。
答案 2 :(得分:2)
int? i1
表示i1
变量可以null
表示可以为空的变量,并且无论{的值是什么,您都会为其分配i2
{1}}。
例如:
如果我的方法如下:
i2
public int sum(int? num)
{
return 1;
}
表示int?
可以num
而不是有效null
传递。
答案 3 :(得分:1)
它在语义上与
相同Nullable<int> i1 = i2