这段代码中问号是什么意思?我应该何时使用它?无论带或不带问号,我的代码都以相同的方式起作用。
void dispose(){
bloc?.dispose();
super.dispose();
}
答案 0 :(得分:1)
问号是Dart中可识别空值的运算符之一。在此示例中,它说:如果dispose()
不为null,则调用bloc
方法 仅 。如果没有问号,则当bloc
尝试调用dispose()
时如果为空,则会抛出NoSuchMethodError
。
Dart网站上有一个有用的部分,介绍了可识别空值的运算符: