Прочитать на английском

Поделиться через


Предупреждение компилятора (уровень 2) CS0162

Обнаружен недостижимый код

Компилятор обнаружил код, который никогда не будет выполняться.

Пример

В следующем примере возникает ошибка 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:
        {
        }
    }
}

Другой распространенный пример создания этой ошибки выглядит следующим образом:

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

Не break удается достичь инструкции, так как она возникает после инструкции return . Инструкция return заканчивает заключающую case ветвь.