Dart中点号前面的问号是什么意思?

3
在这段代码中,问号的含义是什么?我应该在什么时候使用它?我的代码无论是否使用问号都能正常运行。
void dispose(){
  bloc?.dispose();
  super.dispose();
}
1个回答

8
问题标记是Dart中的空值感知运算符之一。在这个例子中,它表示:仅当bloc不为null时才调用dispose()方法。bloc为空时,如果试图调用dispose(),会抛出NoSuchMethodError异常。
Dart网站上有一个关于空值感知运算符的有用部分: https://dart.dev/codelabs/dart-cheatsheet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接