編譯器錯誤 CS1059
遞增或遞減運算子的運算元必須是變數、屬性或索引子。
當您嘗試遞增或遞減常數值時,會引發這個錯誤。 如果您嘗試遞增運算式 (例如 (a+b)++
),也可能會發生這個錯誤。
將變數設為非 const。
移除遞增和遞減運算子。
將運算式儲存在變數中,然後遞增變數。
下列範例會產生 CS1059,因為 i
是常數,而非變數,而 E
是其項目也是常數值的 Enum
類型。
// 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
}
}