2017-01-26 3 views
-2

ich bekomme unerreichbaren Code Fehler in der unteren Code erkannt. könnte anybudy pls zu diesem Thema führen, wil Bündel Dank von tiefstem Herzen bekommenC#. bekommen unerreichbaren Code Fehler in Switch-Anweisung

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; 

    }  
} 
+4

Es ist kein Fehler, sondern eine Warnung, wie Sie 'Rückkehr xxx haben;' auf jeden Fall die 'brechen;' nach ihnen nicht erreichbar sind, nur diese entfernen. – Gusman

+1

Keine Notwendigkeit für die Pausen. – Will

+2

Warum der Tag Spam? – rmlan

Antwort

3

entfernen break; nach zurückgeben; keyword, wenn Sie return verwenden; in Fall dann Pause; wird nicht erreicht, weil Sie gerade die Ausführung der Schleife gestoppt haben mit return; Schlüsselwort.

Siehe Code unten

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; 

    }  
} 
+0

Vielen Dank liebe – aries302

+0

Gern geschehen:) –

+0

Hier gibt es keine Schleife. – adv12

3

In jedem Fall, dass Sie kehren sofort einen Wert, was bedeutet, dass die folgende Pause wird nie ausgeführt werden.

Just do die folgende

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