一道测试题
MyClass是一个自定义类。
List <MyClass> list = getMyClasses();//现在假定返回结果中包含多个MyClass
MyClass x = list.Find(delegate(MyClass myClass){...});//现假定x是在list中找到的一个有效的MyClass
MyClass y = new MyClass();
x = y;
现在的问题是:现在的泛型集合list中原来x所在的索引位置所存放的是x还是y?
请说明理由。
------解决方案--------------------原来存放的还是原来的
我的理解是把x看成指针就行,x=y是x指向了y,这是浅拷贝
------解决方案--------------------x
------解决方案--------------------List <MyClass> list 里面存的是一些引用,x,y也都是引用.
其实就是先声名一个引用a(find方法找到那个对象),然后a赋值给x,x指向a的对象,再把y赋值给x,x又指向了y的对象.
原来的list里面的什么东西都没有变
最后就是那个a,不是x也不是y