Yus*_*sif 0 c# c#-8.0 nullable-reference-types
可空引用类型的文档说:
编译器使用这些注释来帮助您查找代码中潜在的空引用错误。不可为 null 的引用类型和可为 null 的引用类型之间没有运行时差异。编译器不会为不可空引用类型添加任何运行时检查。好处在于编译时分析。编译器会生成警告,帮助您查找并修复代码中潜在的空错误。您声明您的意图,当您的代码违反该意图时,编译器会警告您。
潜在的空错误有哪些?使用可为 null 的引用类型声明的意图是什么?我不清楚。
最初,所有引用类型变量都是可为空的。这意味着您始终必须考虑空引用和相应代码的可能性。如果您希望变量永远不会为空,则无法强制执行。如果您将其视为永远不会为 null,那么如果有人错误地将其设置为 null,那么在运行时总是有可能出现 NullReferenceException。
现在,您可以指定哪些变量应该为空,哪些变量不应该为空,编译器将强制执行该操作。如果您尝试将不可为 null 的变量设置为 null,则编译器错误将阻止这种情况发生。如果您将可为 null 的变量视为肯定不会为 null,则编译器警告会向您发出警告。
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |