代码检查:用 '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日