class Test {
}
//Main method
Test ccc = null;
string sss = null;
我想知道为什么当我将 null 分配给字符串或类时会收到警告?两者都完全可以为空。如果我添加可为空的 ?
注释并说
Test? ccc = null;
string? sss = null;
然后警告就会消失。但内部没有任何改变。这有什么意义?
最佳答案
What is the point of this?
重点是,如果引用类型的值可以为空,也可以不为空,您可以尝试在存在或不存在 ?
标记的情况下进行通信。 C# 编译器具有试图为您提供帮助的静态分析,因此您不会像在旧版本的 C# 中那样容易遇到 NullReferenceException
。
如果您不喜欢它,可以将可空上下文设置为“禁用”。查看链接Nullable reference type了解更多。
关于c# - 为什么我会收到可空类型可能出现空赋值的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73512637/