Freigeben über


Compilerfehler CS0163

Steuerelement kann nicht von einer Groß-/Kleinschreibungsbezeichnung ('Label') in eine andere fallen.

Wenn eine Switch-Anweisung mehr als einen Switch-Abschnitt enthält, müssen Sie jeden Abschnitt, einschließlich des letzten Abschnitts, explizit beenden, indem Sie eines der folgenden Schlüsselwörter verwenden:

Wenn Sie das Verhalten "Fall through" von einem Abschnitt zum nächsten implementieren möchten, verwenden Sie goto case #.

Das folgende Beispiel generiert CS0163.

// CS0163.cs  
public class MyClass  
{  
    public static void Main()  
    {  
        int i = 0;  
  
        switch (i)   // CS0163  
        {  
            // Compiler error CS0163 is reported on the following line.  
            case 1:  
                i++;  
            // To resolve the error, uncomment one of the following example statements.  
            // return;  
            // break;  
            // goto case 3;  
  
            case 2:  
                i++;  
                return;  
  
            case 3:  
                i = 0;  
                break;  

            default:  
                Console.WriteLine("Default");  
                break;  
        }  
    }  
}

Beachten Sie, dass es korrekt ist, mehrere cases für eine Implementierung zu haben, wie im folgenden Codeausschnitt:

public class MyClass
{
    public static void Main()
    {
        int i = 0;

        switch(i)
        {
            case 1:
            case 2:    // No CS0163
                i++
                break;

            default:
                break;
        }
    }
}