C++では前置・後置で++/--のオペレータオーバーロードを別々に行う必要があるけど、C#の場合前置と後置でメソッド定義を別々にすることができない。 以下はMSDNライブラリからの引用。 operator ++ または operator -- の実装は、後置表記または前置表記のいずれを使っても呼び出すことができます。2 つの表記に対して演算子を個別に実装することはできません。 7.6.5 前置インクリメント演算子と前置デクリメント演算子 (C#) ということは、前置と後置で個別のメソッド定義ができないんじゃ、それぞれの戻り値の差別化はどうすればいいの?と疑問に思ったので調べてみた。 MSDNライブラリの説明 以下はMSDNライブラリによる前置・後置インクリメント/デクリメントの処理手順の説明。 ++x or --x x を評価して変数を生成します。 x の値を引数として、選択された演算子を