Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这句话的意思是什么;智力?i1=i2“;你用c#做什么?_C# - Fatal编程技术网

这句话的意思是什么;智力?i1=i2“;你用c#做什么?

这句话的意思是什么;智力?i1=i2“;你用c#做什么?,c#,C#,我一直在阅读一篇c#教程,其中提到了可空类型,在这个特定的上下文中,我经历了这个示例 int? i1 = i2; 我无法理解它到底做了什么以及它的含义。它的意思是,声明一个可为null的int类型,并将i2的值赋给它 由于i1具有可为空的类型int?,i2可以是int文本,如5,类型为int的变量,类型为int?的变量,或文本值nullint?i1表示i1变量可以null表示可为null的变量,您将i2赋值给它,无论i2中的值是什么 例如: 如果我有如下方法: public int sum(i

我一直在阅读一篇c#教程,其中提到了可空类型,在这个特定的上下文中,我经历了这个示例

int? i1 = i2;

我无法理解它到底做了什么以及它的含义。

它的意思是,声明一个可为null的
int
类型,并将
i2
的值赋给它


由于
i1
具有可为空的类型
int?
i2
可以是
int
文本,如
5
,类型为
int
的变量,类型为
int?
的变量,或文本值
null
int?i1
表示
i1
变量可以
null
表示可为null的变量,您将
i2
赋值给它,无论
i2
中的值是什么

例如:

如果我有如下方法:

public int sum(int? num)
{
return 1;
}
int?
表示可以将
num
作为
null
传递,而不是有效的
integer


请参见

它创建了一个可为空的整数。这意味着您可以设置
i1=null并轻松测试其空值
i1。HasValue

它在语义上与

Nullable<int> i1 = i2
Nullable i1=i2

i2的定义是什么?具体来说,是什么让您对这行代码感到困惑?您知道声明变量意味着什么吗?您知道在声明变量时初始化变量意味着什么吗?你不明白这是什么类型的吗?你不明白分号是用来干什么的吗?当你只是提供一些代码并说“explain”而没有说明你不理解的内容时,这个问题实际上是不可回答的。它是强制性的,只允许传递一个以上的值(null)。可选选项看起来像
int?num=1
可选,我的意思是可以传递空值。我对其进行编辑以避免混淆