コードインスペクション: 列挙型の一部の値は 'switch' ステートメント内で処理されず、デフォルトセクションで処理される
switch ステートメントを enum と一緒に使用する場合、すべての列挙型の値に対して case ステートメントを用意する必要はありません。いくつかの値にケースがない場合、それらは default セクションで処理されます。
これは、作成者が重要でない値を処理することを目的としている場合があります。 ただし、これは、 enum に新しい値を追加し、それに応じて switch を更新するのを忘れた結果でもある可能性があります。
ReSharper は、そのような switch ステートメントを潜在的な問題としてフラグし、未処理の値に対して case ステートメントを生成することを提案します。
enum TestEnum
{
A,
B
}
class Program
{
void Test(TestEnum testEnum)
{
switch (testEnum)
{
case TestEnum.A:
Console.WriteLine("A");
break;
// case E.B will be handled in the default section
default: Console.WriteLine("X"); break;
}
}
}
2026 年 6 月 12 日