JetBrains Rider 2026.1 Help

代码检查:用 'switch' 表达式替换三元表达式

此检查会报告嵌套的条件表达式,这些表达式反复测试相同的输入,并且可以重写为 switch 表达式。 当一连串的 ?: 条件表现得像紧凑的多分支选择时,通常会出现这种情况。

示例

var score = status == OrderStatus.New ? 0 : status == OrderStatus.Paid ? 1 : status == OrderStatus.Shipped ? 2 : 3;
var score = status switch { OrderStatus.New => 0, OrderStatus.Paid => 1, OrderStatus.Shipped => 2, _ => 3 };

快速修复

switch 表达式比冗长的三元链更易于阅读,也让每个分支更加显式。

2026年 5月 8日