JetBrains Rider 2026.1 Help

代码检查:类型模式和转换可以合并

此检查会报告 switch 已经检查过值类型,但在 case 代码块或守卫中重复对同一 switch 表达式进行转换的情况。 在 case 标签中使用模式变量可以让代码更简洁明了,因为类型化值只需引入一次,并可在该 case 中各处复用。

示例

switch (obj) { case int x when ((int)obj) > 0: Console.WriteLine((int)obj); break; }
switch (obj) { case int x when x > 0: Console.WriteLine(x); break; }

快速修复

请使用模式变量,避免重复转换。

2026年 5月 8日