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

Jon*_*nas 1 dart flutter

有没有更好的选择,然后编码:

String reps = status != null && status.sets != null && status.sets[index].reps != null ? status.sets[index].reps.toString() : '-';
Run Code Online (Sandbox Code Playgroud)

我也可以这样做:

String reps;
try {
  reps = hasImprovedReps ? currentReps : status.sets[index].reps.toString();
} catch (e) {
  reps = '-';
}
Run Code Online (Sandbox Code Playgroud)

但是这样它不是一行而且它不是一个条件所以我可以在Text()构造函数中使用它.

Rém*_*let 6

你可以使用?.??运营商:

String reps = status?.sets?.elementAt(index)?.reps?.toString() ?? '-'
Run Code Online (Sandbox Code Playgroud)