问题描述
在 Visual Studio 2019 中,我可以将 Build-Properties 中的 Nullable 选项设置为 Annotation。 当我阅读此设置的文档时:
引用类型的变量,例如字符串,是不可为空的。禁用所有可空性警告。
现在我想知道这个设置的确切用途是什么。变量不可为空,但没有警告。 C# 8 的 Non-Nullable-Feature 仅生成警告。为什么有一个设置说变量不可为空但没有警告?
解决方法
#nullable enable annotations
指令和相应的项目设置对于在准备处理代码中的警告之前向公共 API 添加注释非常有用。
在这种可为空的上下文中,string
表示“不可为空的字符串”,但如果您将 null 分配给该类型的变量或取消引用 string?
类型的变量,则不会产生警告.