在空安全之前有一个关于dynamic和var的dynamic。那么它们之间的Object?是什么呢?
Object? == dynamicvar?和dynamic?怎么样?dynamic?和dynamic之间的任何差异我看到了官方的文档关于null-safety,但找不到相关的话题。
发布于 2021-07-29 05:46:54
dynamic是一种禁止静态类型检查的特殊类型.您可以尝试调用dynamic类型上的任何方法。如果对象最终没有这样的方法,那么它将导致运行时失败,而不是编译时失败。
Object?是一个基本类型,适合引用任何对象,包括null。与dynamic不同的是,它是静态类型检查的,因此,如果尝试调用大多数方法而不显式检查运行时类型或不执行强制转换,则会出现编译时失败。var?不是有效的语法。var不是类型;它声明变量而不显式指定类型,允许推断类型。
dynamic?是有效的,但是是多余的。(见第3条)dynamic类型的变量可能已经包含了null,因此添加一个?使其为空是多余的。省道分析器会告诉你的。https://stackoverflow.com/questions/68570162
复制相似问题