no_duplicate_case_values
case 句の値 ('{0}') が、それより前の case 句の値 ('{1}') と同じです。
説明
#同じ switch ステートメント内で 2 つ以上の case 句の値が重複している場合に、アナライザーはこの診断を生成します。
最初の case 句以降の case 句は実行されることがないため、重複した case 句は誤解を招きます。
この診断は、タイポまたは定数の値の変更が原因であることがよくあります。
例
#以下のコードでは、2 つの case 句の値が同じ (1) であるため、この診断が生成されます。
dart
// @dart = 2.14
void f(int v) {
switch (v) {
case 1:
break;
case 1:
break;
}
}一般的な修正
#いずれかの句に異なる値が必要な場合は、その句の値を変更してください。
dart
void f(int v) {
switch (v) {
case 1:
break;
case 2:
break;
}
}値が正しい場合は、ステートメントを単一の句にマージしてください。
dart
void f(int v) {
switch (v) {
case 1:
break;
}
}