Freigeben über


Compilerfehler CS1059

Aktualisiert: November 2007

Fehlermeldung

Der Operand eines Inkrement- oder Dekrementoperators muss eine Variable, eine Eigenschaft oder ein Indexer sein.
The operand of an increment or decrement operator must be a variable, property or indexer.

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

So beheben Sie diesen Fehler

  • Machen Sie aus der Variablen eine nicht konstante Variable.

  • Entfernen Sie den Inkrement-Operator bzw. den Dekrement-Operator.

  • Speichern Sie den Ausdruck in einer Variablen, und inkrementieren Sie dann die Variable.

Beispiel

Das folgende Beispiel führt zu Fehler CS1059, weil i eine Konstante und keine Variable ist und weil E ein Enum-Typ ist, dessen Elemente ebenfalls 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

Referenz

Konstanten (C#-Programmierhandbuch)