跳到主要內容

non_constant_case_expression

Case 表示式必須是常量。

描述

#

當 `case` 子句中的表示式不是常量表達式時,分析器會生成此診斷資訊。

示例

#

以下程式碼會生成此診斷資訊,因為 `j` 不是常量

dart
void f(int i, int j) {
  switch (i) {
    case j:
      // ...
      break;
  }
}

常見修復

#

可以將該表示式設為常量表達式,或者將 `switch` 語句重寫為一系列 `if` 語句。

dart
void f(int i, int j) {
  if (i == j) {
    // ...
  }
}