switch_expression_not_assignable
switch 表达式的类型“{0}”不可赋值给 case 表达式的类型“{1}”。
描述
#当 switch 语句中表达式的类型不可赋值给 case 子句中表达式的类型时,分析器会产生此诊断信息。
示例
#以下代码会产生此诊断信息,因为 s 的类型(String)不可赋值给 0 的类型(int)
dart
void f(String s) {
switch (s) {
case 0:
break;
}
}常见修复方法
#如果 case 表达式的类型正确,则更改 switch 语句中的表达式以具有正确的类型
dart
void f(String s) {
switch (int.parse(s)) {
case 0:
break;
}
}如果 switch 表达式的类型正确,则更改 case 表达式以具有正确的类型
dart
void f(String s) {
switch (s) {
case '0':
break;
}
}