ReSharper 2025.2 Help

代码检查:枚举中的某些值未在 'switch' 表达式中处理,而是通过 default 分支中的异常处理。

在使用 switch 表达式枚举 时,不需要为每个枚举值设置分支——这些值将在 _ 丢弃中处理。

这可能是作者为了处理一些不重要的值而有意为之。 但是,如果 _ 丢弃抛出异常,则所有使用 switch 表达式 且未处理 枚举 值的情况也会抛出异常,这可能是因为向 枚举 添加了新值却忘记相应更新 switch 表达式 所导致的。

enum MyColor { Red, Green, Blue } string GetColor(MyColor color) => color switch { MyColor.Red => "Red", MyColor.Green => "Green", _ => throw new ArgumentOutOfRangeException(nameof(color)) }; // The value 'Blue' is not processed in the switch // so this call will throw an exception string TestColors => GetColor(MyColor.Blue);
最后修改日期: 2025年 9月 27日