在 Dart 中,与??
运算符组合的方法的 null-aware 运算符效果不佳。
具有如下调用链的图像:
object.getter.getter.getter.getter
现在当object
可以为null并且我不想要例外时我必须写这个:
object?.getter?.getter?.getter?.getter
这是对每个getter的空检查,即使只有object
可以为null,但getter
显然不起作用。
我对此感到满意。但是现在我有一个场景,我想返回另一个值,如果为null,但我正在使用列表:
list[index][index][index]
这不起作用:
list?[index]
并且 Dart 中的List
不存在。
list?.get(index)
list?[index]?[index]?[index] ?? 0
我知道list
只有null
。
我认为我可能会误解某些东西,因此我不确定我的陈述是否属实:
在 Dart 中,与
??
运算符组合的方法的 null-aware 运算符效果不佳。
此长代码可以使用:
list == null ? 0 : list[index][index][index]