Compiler Warning (level 2) CS0162

Unreachable code detected

The compiler detected code that will never be executed.

Example

The following example generates 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:
        {
        }
    }
}

Another common example where this error is generated is as follows:

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

The break statement cannot be reached because it occurs after the return statement. The return statement ends the enclosing case branch.