Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1059

Operand operatora inkrementacji lub dekrementacji musi być zmienną, właściwością lub indeksatorem.

Ten błąd jest zgłaszany podczas próby przyrostowania lub dekrementowania stałej wartości. Może się to również zdarzyć, jeśli spróbujesz zwiększać wyrażenie, takie jak (a+b)++.

Aby poprawić ten błąd

  • Ustaw zmienną inną niż const.

  • Usuń operator inkrementacji lub dekrementacji.

  • Zapisz wyrażenie w zmiennej, a następnie zwiększ zmienną.

Przykład

Poniższy przykład generuje cs1059, ponieważ i jest stałą, a nie zmienną i E jest typem Enum , którego elementy są również stałymi wartościami.

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

Zobacz też