Igor showed me a really nice coding riddle. If you know this one, forget it, but if you don't, try to honestly answer what result you expect.
1int i = 3;
2i += i++;
3
4Console.WriteLine(i);
Only after that try compiling the code (I suggest you use SnippetCompiler) and verify the result. If you are like me and most of my co-workers, your answer was wrong. Right?
You can play with ILDASM to look at the low level MSIL code and you will see what happens. Also take a look at the compiled code with Reflector.
Also you might want to take a look at this variant.
1int i = 3;
2i += ++i;
3
4Console.WriteLine(i);
Igor found this on some blog but we couldn't find the post. Google is quite usfull when searching for "i += i++"!
If you know the source of this, please let me know!