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

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


Ошибка компилятора CS1059

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

Эта ошибка возникает при попытке увеличения или уменьшения постоянного значения. Также она возникает при попытке увеличения значения такого выражения, как (a+b)++.

Исправление ошибки

  • Сделайте переменную неконстантной.

  • Удалите оператор увеличения или уменьшения значения.

  • Сохраните выражение в переменной, а затем увеличьте значение этой переменной.

Пример

Приведенный ниже пример приводит к возникновению ошибки CS1059, так как i является не переменной, а константой, а E имеет тип Enum , элементы которого также представляют собой постоянные значения.

C#
// CS1059.cs  
    class Program  
    {  
        public enum E : sbyte  
        {  
            a = 1,  
            b = 2  
        }  
  
        static void Main(string[] args)  
        {  
            const int i = 0;  
            i++;            // CS1059  
            E test = E.a++; // CS1059  
        }  
    }  

См. также