Vai*_*ain 131 .net c# types nullable
当我宣布一个可以int为空的时候
int? i=null;
Run Code Online (Sandbox Code Playgroud)
i这里是否成为参考类型?
kem*_*002 129
不,可空是一个结构.发生的事情是可空结构有两个值:
intfor int?,DateTimefor DateTime?等).HasValue是财产.)设置数据类型的值时,结构将更HasValue改为true.
Chr*_*isF 24
可空类型是System.Nullable结构的实例.
和
可空类型表示可以赋值为null的值类型变量.您无法基于引用类型创建可空类型.(引用类型已经支持null值.)
所以,不,他们不是参考类型.
Ste*_*ary 12
可空类型既不是值类型也不是引用类型.它们更像是值类型,但具有一些引用类型的属性.
当然,可以设置为可空类型null.此外,可空类型不能满足通用struct约束.此外,当您使用HasValue等于的可空类型时false,您将获得null指针而不是盒装可空类型(取消装箱时存在类似情况).
这些属性使可空类型成为非值类型,但它们肯定也不是引用类型.它们是他们自己特殊的可空值类型.
不,Nullable类型实际上是一个结构.运行时将智能地为您设置空值,给出引用类型的外观,当它不是....
| 归档时间: |
|
| 查看次数: |
24415 次 |
| 最近记录: |