原文:Nullable Reference Types In C# 8
作者:.NET Core Tutorials
译者:Lamond Lu
![2010638cd12e0505ed4e7b3a9c601cb3.png](https://i-blog.csdnimg.cn/blog_migrate/271cdaad5bfda1873bbf0daa81249cd7.jpeg)
现状
可空引用类型?
自从我开始学习.NET, 引用类型一直就是可空的。然而初级程序员通常会告诉你值类型不可空,引用类型可空。
事实上,在.NET中有一种语法可以表明一个值类型是否可空。
int? nullableInt1 = null;
Nullable<int> nullableInt2 = null;
int nullableInt3 = null; //编译错误
并且这种语法并不只适用于原始类型,它也适用于struct
Tips: Struct本身就是值类型
struct MyStruct
{
}
static void Main(string[] args){
MyStruct? mystruct1 = null;
MyStruct myStruct2 = null;
}
但是现在我们希望在编译以下代码时,编译器能给出错误或者警告
class MyClass
{
}
static void Main(string[] args){
MyClass myClass = null;
}
</