如何 increment/decrement Dart 的 Sound Null Safety 中的可空表达式:`<nullable_variable>!++`?
How to increment/decrement a nullable expression in Dart's Sound Null Safety: `<nullable_variable>!++`?
我在 Dart 中使用 Sound Null Safety,我有以下内容代码
int? _counter;
void _incrementCounter() {
setState(() {
if (_counter!=null)
_counter++;
});
}
现在,由于 _counter 不是局部变量,它不能被提升(参见 了解原因),所以我必须告诉 Dart 我是通过添加 bang 运算符 (!
) 确保 _counter
不为空。于是我写了
_counter!++;
但这不起作用:我收到错误消息
Illegal assignment to non-assignable expression.
那么,有没有办法在不需要显式写入的情况下解决这个问题
_counter = _counter! + 1;
今天它按预期工作,如果您将 int?
保留为 _counter
的类型,则必须使用 _counter = _counter! + 1;
。
将来这可能会根据提案 Dart Null-Asserting Composite Assignment 进行更改
.
我在 Dart 中使用 Sound Null Safety,我有以下内容代码
int? _counter;
void _incrementCounter() {
setState(() {
if (_counter!=null)
_counter++;
});
}
现在,由于 _counter 不是局部变量,它不能被提升(参见 !
) 确保 _counter
不为空。于是我写了
_counter!++;
但这不起作用:我收到错误消息
Illegal assignment to non-assignable expression.
那么,有没有办法在不需要显式写入的情况下解决这个问题
_counter = _counter! + 1;
今天它按预期工作,如果您将 int?
保留为 _counter
的类型,则必须使用 _counter = _counter! + 1;
。
将来这可能会根据提案 Dart Null-Asserting Composite Assignment 进行更改 .