我在下面的代码中检测到无法访问的代码错误。 任何研究都可以指导这个问题,我会从心底获得一堆感谢
public decimal SetDiscountLevel()
{
int range= spentAmount/500;
switch(range)
{
case 0:
return 0;
break;
case 1:
return 0.05m;
break;
case 2:
return 0.06m;
break;
case 3:
return 0.08m;
break;
default:
return 0.1m;
break;
}
}
答案 0 :(得分:3)
在返回关键字后删除中断; ,因为如果您使用返回; 以防中断; 将没有达到,因为你刚刚用 return; 关键字停止执行循环。
见下面的代码
public decimal SetDiscountLevel()
{
int range= spentAmount/500;
switch(range)
{
case 0:
return 0;
case 1:
return 0.05m;
case 2:
return 0.06m;
case 3:
return 0.08m;
default:
return 0.1m;
}
}
答案 1 :(得分:3)
在每种情况下,您都会立即返回一个值,这意味着永远不会执行以下中断。
只需执行以下操作
public decimal SetDiscountLevel()
{
int range= spentAmount/500;
switch(range)
{
case 0:
return 0;
case 1:
return 0.05m;
case 2:
return 0.06m;
case 3:
return 0.08m;
default:
return 0.1m;
}
}