【发布时间】:2021-05-09 17:14:04
【问题描述】:
在 Visual Studio 2019 中,我可以将 Build-Properties 中的 Nullable 选项设置为 Annotation。 当我阅读有关此设置的文档时:
引用类型的变量,例如字符串,是不可为空的。所有可空性警告均已禁用。
现在我想知道这个设置的确切用途是什么。变量不可为空,但没有警告。 C# 8 的 Non-Nullable-Feature 只会生成警告。为什么有一个设置说变量不可为空但没有警告?
【问题讨论】:
-
他们的意思是像int这样的数字类型?问号表示可以为空。文档说你不能使用 qustion 标记。
-
作为参考(希望能提供更多信息):stackoverflow.com/questions/55492214/…
-
@jdweng 但是当我将属性设置为注解时,
int? i = null;还是可以的 -
我认为它指的是 CONTEXT,它是 Entity 基类用来连接数据库的。我认为这是处理像 DateTime 这样在 Net 中不能为空的情况,但许多数据库确实允许 DateTime 为空。
-
@jdweng
Variables of a reference type, string for example, are non-nullable. All nullability warnings are disabled.int?不是引用类型,所以我不确定该评论与此有何关联。
标签: c# c#-8.0 non-nullable