When you're incrementing an object of a fundamental type, there's no difference between prefix (++obj
) and postfix (obj++
) operators. However, when you're incrementing a composite object, using the postfix operator causes the .NET Framework to create a temporary object, whereas the prefix operator doesn't.
So, when you're incrementing an object that permits both operators, opt for the prefix operator:
A obj = new A();
obj++; // inefficient
++obj; // efficient