Errore del compilatore CS1059

Aggiornamento: novembre 2007

Messaggio di errore

L'operando di un operatore di incremento o di decremento deve essere una variabile, una proprietà o un indicizzatore.
The operand of an increment or decrement operator must be a variable, property or indexer.

Questo errore viene generato quando si tenta di incrementare o decrementare un valore costante. Può verificarsi anche se si tenta di incrementare un'espressione quale (a+b)++.

Per correggere l'errore

  • Rendere la variabile non costante.

  • Rimuovere l'operatore di incremento o di decremento.

  • Archiviare l'espressione in una variabile e quindi incrementarla.

Esempio

Nell'esempio seguente viene generato l'errore CS1059 perché i è una costante, non una variabile, e E è un tipo Enum i cui elementi sono anche valori costanti.

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

Vedere anche

Riferimenti

Costanti (Guida per programmatori C#)