Freigeben über


Compilerfehler CS1059

Der Operand eines Inkrement- oder Dekrementoperators muss eine Variable, eine Eigenschaft oder ein Indexer sein.

Dieser Fehler wird ausgelöst, wenn Sie versuchen, einen konstanten Wert zu erhöhen oder zu verringern. Er kann auch auftreten, wenn Sie versuchen, einen Ausdruck wie (a+b)++zu erhöhen.

So beheben Sie diesen Fehler

  • Legen Sie die Variable als nicht konstant fest.

  • Entfernen Sie den Inkrement- oder Dekrementoperator.

  • Speichern Sie den Ausdruck in einer Variablen, und erhöhen Sie dann die Variable.

Beispiel

Im folgende Beispiel wird CS1059 generiert, da i eine Konstante und keine Variable und E ein Enum -Typ ist, dessen Elemente auch Konstantenwerte sind.

// 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  
        }  
    }  

Siehe auch