声明" int是什么? i1 = i2"在c#中做什么?

时间:2014-05-08 17:54:19

标签: c#

我一直在阅读一个c#教程,它已经提到了可以为空的类型,并且在特定的上下文中我已经通过了这个例子

int? i1 = i2;

我无法理解它究竟做了什么以及它意味着什么。

4 个答案:

答案 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传递。

请参阅Nullable Types in C#

答案 3 :(得分:1)

它在语义上与

相同
Nullable<int> i1 = i2