Question: Hi in my opinion property of my object shouold be 2, but after this code, is still 1, why?

```
internal class Program
{
    private static void Main(string[] args)
    {
        MyClass value = new MyClass() { Property = 1 };

        value.Property = value.Property++;
        Console.WriteLine(value.Property);
        Console.ReadKey();
    }
}

internal class MyClass
{
    public int Property;
}

```

in my opinion this should value.Property = value.Property++; first put to value what is in value and the increment property of this object, why id doesn't work?

Answer: 
Because `valueProperty++` is the same as the following:

```
int Increment(ref int value)
{
    var temp = value;
    value = value + 1;
    return temp;
}

```
```
value.Property = value.Property++;

```

Here value.Property++ means it assing 1 before incrementing.