我一直认为 .NET 框架的可为空类型只不过是框架为我们提供的一个不错的构造,但并没有为语言本身添加任何新内容。
也就是说,直到今天,出于演示的目的,我尝试创建自己的 Nullable 结构。
我得到了我需要的一切,除了这样做的能力:
var myInt = new Nullable<int>(1);
myInt = 1;
问题是第二条语句,因为我无论如何都不能重载赋值运算符。
我的问题是:这是赋值运算符重载的语言中的一种特殊情况吗?如果不是,您将如何使前面的示例工作?
谢谢!