This is an extremely basic question, and I can't write a book on it...
But that's exactly how it is supposed to work. You are setting 'reference' variables; newPost
and post
both refer to the exact same object which is a class
and therefore a Reference type, so you should expect that all changes to one also affect the other.
It sounds like you need to pick up a good basic .NET programming book, and pay particular attention to the differences between Value and Reference types.
The 'solution' is to create a new object and set/copy the individual members of the old object to the new one, but I fear that solution will not serve you too long before you dig some more into things.