【发布时间】:2020-09-09 12:05:20
【问题描述】:
在 Dart 中,null-aware 运算符与 ?? 运算符结合使用的方法效果不佳。
具有如下调用链的图像:
object.getter.getter.getter.getter
现在当object 可能为空并且我不希望出现异常时,我必须这样写:
object?.getter?.getter?.getter?.getter
这是对每个 getter 的空检查,即使只有 object 可以为空,但 getter 显然不起作用。
我没问题。但现在我有一个场景,如果为 null,我想返回另一个值,但我正在使用一个列表:
list[index][index][index]
如何在 List getter 上使用可识别 null 的运算符?
这不起作用:
list?[index]
这对于 Dart 中的 List 不存在。
list?.get(index)
我想实现这样的目标:
list?[index]?[index]?[index] ?? 0
我知道只有list 永远是null。
这个长代码可以工作:
list == null ? 0 : list[index][index][index]
【问题讨论】:
标签: dart