.NET 源码学习 [数据结构-线性表1.2] 链表与 LinkedList<T>( 九 )


总结

  1. 可空引用类型是在编译时起作用,在运行时和普通的引用类型没有任何区别,它主要是在编译时结合可空上下文,帮助我们分析代码中可能出现空指针引用异常的地方,这是一个非常好的语法糖,我们只需要遵守上面三种规则,就可以很大程度减少空指针异常的几率 , 其实,如果仔细看的话,.NET 基础库已经遵守了这个规则,比如object 类的 ToString() 方法和 Equals() 方法等 。
  2. 添加这些特性将为编译器提供有关 API 规则的更多信息 。当调用代码在可为 null 的上下文中编译时,编译器将在调用方违反这些规则时发出警告 。这些特性不会启用对实现进行更多检查 。
  3. 添加可为 null 的引用类型提供了一个初始词汇表 , 用于描述 API 对可能为 null 的变量的期望 。这些特性提供了更丰富的词汇来将变量的 null 状态描述为前置条件和后置条件 。这些特性更清楚地描述了期望,并为使用 API 的开发人员提供了更好的体验 。在为可为 null 的上下文中更新库时,添加这些特性可指导用户正确使用 API 。这些特性有助

    推荐阅读