更新 : 2007 年 11 月
エラー メッセージ
インクリメント演算子またはデクリメント演算子のオペランドには、変数、プロパティ、またはインデクサを指定してください。
このエラーは、定数値をインクリメントまたはデクリメントしようとすると発生します。(a+b)++ などの式をインクリメントしようとした場合も発生する場合があります。
このエラーを解決するには
変数を非 const にします。
インクリメント演算子またはデクリメント演算子を削除します。
式を変数に格納し、その変数をインクリメントします。
使用例
次の例では、i が変数でなく定数であるため、また E が Enum 型で、その要素が定数値であるため CS1059 エラーが発生します。
// 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
}
}