当我宣布int为空时

int? i=null;

这里的i会成为参考类型吗?

推荐答案

不,可空函数是一个 struct .实际情况是,可为空的 struct 有两个值:

  1. 数据类型的值(int?int,DateTime?DateTime,依此类推).
  2. 一个布尔值,指示是否已设置数据类型值.(HasValue是房产.)

设置数据类型的值时, struct 将HasValue更改为true.

Nullable types (C# Programming Guide)

.net相关问答推荐

Ubuntu 22.04 + JetBrains Rider 不能做脚手架 dbContext

在本地运行 Azure 函数会在 .NET7 升级后出现无运行时错误

为什么这个同步运行的异步睡眠会挂起?

NonSerialized 属性

C#6.0 字符串插值本地化

从 switch 块中跳出 foreach 循环

如何解决请确保文件可访问并且它是有效的程序集或 COM 组件?

有什么方法可以使用 .NET 应用程序使用 git 吗?

通用枚举到int的C#非装箱转换?

实例化具有运行时确定类型的对象

如何右对齐 DataGridView 列中的文本?

如何在 .NET 中将字符串转换为字节数组?

如何通过 LINQ 比较没有时间的 DateTime?

如何使用反射在 .NET 中调用重载方法

清除 .NET 的 StringBuilder 内容的最佳方法

在 C#/.NET 中组合路径和文件名的最佳方法是什么?

如何找到二维数组的大小?

Microsoft.Bcl.Build NuGet 包有什么作用?

如何使用 DateTime 指定一天中的最晚时间

泛型类的静态成员是否与特定实例相关联?