对象的赋值方法对比
class MyClass{
private string str = "";
public string Str
{
get { return str; }
set { str = value; }
}
}
class Program
{
static void Main(string[] args)
{
MyClass myClass1 = new MyClass();
myClass1.Str = "我是myClass1,第一个对象!";
//第一种复制
MyClass myClass2 = myClass1;
//第二种复制
MyClass myClass2 = new MyClass();
myClass2 = myClass1;
myClass2.Str = "我是myClass2,第二个对象!";
}
}
【请问一下,以上这两个复制对象的方法有什么区别呢?O(∩_∩)O谢谢】
【按道理第二种,实例化一个新的对象已经开辟了新的空间了,这样一来,myClass1与myClass2两个对象已经是互不侵犯的啊。为什么myClass2的Str属性改变值后,使用myClass1.Str的属性也会变改变呢?】
[ 本帖最后由 czg123698741 于 2010-5-27 17:50 编辑 ]