这句话的意思是什么;智力?i1=i2“;你用c#做什么?
我一直在阅读一篇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
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
可选,我的意思是可以传递空值。我对其进行编辑以避免混淆