C#语言学习笔记4 —— Nullable 引用类型(2)
Nullable 引用类型(2)
有一个需要特别注意的地方,对于数组和结构体,如果它的元素或成员是 nullable 引用类型,在初始化的时候,元素或成员可以为 null,编译器不会发出警告。
数组的例子
我们在 C# Interactive 窗口中验证一下
结构体的例子
我们在 C# Interactive 窗口中验证一下
AllowNull 和 DisallowNull 属性
编译器的 null 状态分析,有些时候需要你给一些额外的提示,这时候,你需要 AllowNull、DisallowNull、NotNullWhen 等等属性。
例如, 一个属性,写入时可以设置 null 值,读取时返回 non-null 值,需要 AllowNull 属性来指示。
看一下这个例子
另外一个例子
#nullable enable 和 #nullable disable 编译指示命令
我们可以在代码中加入编译指示命令,来控制编译器对 null 状态分析的一些行为。 这个主要用在将 C# 代码从低版本升级为高版本的场景。 除了前面这两个指令,还有 #nullable restore 等等。
下一篇:C# 属性