Dart 编写此条件语句的较短方法?

Dart 编写此条件语句的较短方法?,dart,flutter,Dart,Flutter,是否有更好的替代方案,然后对其进行编码: String reps = status != null && status.sets != null && status.sets[index].reps != null ? status.sets[index].reps.toString() : '-'; 我也可以这样做: String reps; try { reps = hasImprovedReps ? currentReps : status.sets[

是否有更好的替代方案,然后对其进行编码:

String reps = status != null && status.sets != null && status.sets[index].reps != null ? status.sets[index].reps.toString() : '-';
我也可以这样做:

String reps;
try {
  reps = hasImprovedReps ? currentReps : status.sets[index].reps.toString();
} catch (e) {
  reps = '-';
}
但这样一来,它不是一行,也不是一个条件,所以我可以在Textconstructor中使用它。

您可以使用?。和操作员:

String reps = status?.sets?.elementAt(index)?.reps?.toString() ?? '-'
你可以用?。和操作员:

String reps = status?.sets?.elementAt(index)?.reps?.toString() ?? '-'