Have you ever tried this before?
static void Main(string[] args) { int x = 10; x = x++; Console.WriteLine(x); }
Output: 10.
but for
static void Main(string[] args) { int x = 10; x++; Console.WriteLine(x); }
Output: 11.
Could anyone explain why this?
X++ will increment the value, but then return its old value.
So in this case:
You have X at 11 just for a moment, then it gets back to 10 because 10 is the return value of (x++).
You could instead do this for the same result:
It is also worth mentioning that you would have your expected result of 11 if you would have done: