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;
}
}