Compilerwarnung (Stufe 2) CS0162

Unerreichbarer Code wurde entdeckt.

Der Compiler hat Code erkannt, der nie ausgeführt wird.

Beispiel

Das folgende Beispiel generiert CS0162:

// CS0162.cs
// compile with: /W:2
public class Program
{
    public static void Main()
    {
        goto lab1;
        {
            // The following statements cannot be reached:
            int i = 9;   // CS0162
            i++;
        }
    lab1:
        {
        }
    }
}

Ein weiteres häufiges Beispiel, bei dem dieser Fehler generiert wird, lautet wie folgt:

public static class Class1
{
    public static string Method1()
    {
        string x = "a";
        switch (x)
        {
            case "a":
                return "a";
                break;          // CS0162
        }
        return "";
    }
}

Die break-Anweisung kann nicht erreicht werden, da sie nach der return-Anweisung ausgeführt wird. Die return-Anweisung beendet die umschließende case-Verzweigung.