在Dart中,用于方法的null-aware运算符与??
运算符的组合不能很好地工作.
具有如下调用链的图像:
object.getter.getter.getter.getter
现在,当object
可能为空并且我不希望出现异常时,我必须编写以下代码:
object?.getter?.getter?.getter?.getter
这是针对每个getter的NULL判断,即使只有object
个可能为NULL,但是getter
显然不起作用.
我同意.但现在我有一个场景,如果为null,我想返回另一个值,但我正在处理一个列表:
list[index][index][index]
如何在列表getter上使用支持NULL的运算符?
This does not work:个
list?[index]
这在Dart年的List
年里是不存在的.
list?.get(index)
我想要达到这样的效果:
list?[index]?[index]?[index] ?? 0
我知道只有list
会变成null
.
这long个代码可以工作:
list == null ? 0 : list[index][index][index]