在 C# 8.0 之前,所有引用类型都可为 null。
可为 null 引用类型是 C# 8.0 中引入的一组功能,可用于最大程度地降低代码导致运行时引发 System.NullReferenceException 的可能性。 可为 null 引用类型包括三项功能,可帮助避免这些异常,包括将引用类型显式标记为可为 null 的功能
-
经过优化的静态流分析,用于在取消引用变量之前确定其是否为 null.
-
属性,用于注释 API 以便流分析确定 null 状态
-
变量注释,可供开发人员用于显式声明变量的预期 null 状态