I understand the differences between i++ and ++i, but I\'m not quite sure why I\'m getting the results below:
static void Main(string[] args) { int c = 4
The expression on the right-hand-side of an assignment is evaluated completely, then the assignment is performed.
c = c++;
Is the same as
// Right hand side is calculated first. _tmp = c; c = c + 1; // Then the assignment is performed c = _tmp;