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?
Best Solution
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: