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?
请说明理由。

解决方案 »

  1.   

    原来存放的还是原来的我的理解是把x看成指针就行,x=y是x指向了y,这是浅拷贝
      

  2.   

    List<MyClass> list 里面存的是一些引用,x,y也都是引用.
    其实就是先声名一个引用a(find方法找到那个对象),然后a赋值给x,x指向a的对象,再把y赋值给x,x又指向了y的对象.
    原来的list里面的什么东西都没有变
    最后就是那个a,不是x也不是y
      

  3.   

    请看 
    clr via c#