I have two objects say **Object1,Object2**.

The two objects have the same properties. 

My code is like below 

```
Object1.property1=Object2.property1; // Object2.property1=**x**
Object2.property1= **y**;                 

```

When I try to retrieve the Object1.property1 it is displaying **y**.

Here I Don't want to change the Object1.property1 but it is Getting Modified when Object2.property1 has changed. 

My Questions is 

Why my code is behaving like that or Is there any concept that i don't know in c# ?