c#。在switch语句中获取无法访问的代码错误

c#。在switch语句中获取无法访问的代码错误,c#,C#,im获取无法访问的代码在下面的代码中检测到错误。 能不能请任何人在这个问题上指点一下,我会发自内心的感谢 public decimal SetDiscountLevel() { int range= spentAmount/500; switch(range) { case 0: return 0; break; case 1: return 0.05m; break; case 2:

im获取无法访问的代码在下面的代码中检测到错误。 能不能请任何人在这个问题上指点一下,我会发自内心的感谢

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;

  }      
}

去除断裂返回后返回关键字,因为如果使用返回如果然后中断将无法到达,因为您刚刚停止执行带有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;

     }      
}

在每种情况下,您都会立即返回一个值,这意味着将永远不会执行以下中断

只需执行以下操作

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;
     }      
}

这不是一个错误,而是一个警告,因为您有
返回xxx在每种情况下,
中断在它们无法访问之后,只需删除这些。不需要中断。为什么标记会是垃圾邮件?非常感谢,这里没有循环。