跳到主內容

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