首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一道测试题,该如何处理

2012-01-29 
一道测试题MyClass是一个自定义类。List MyClasslistgetMyClasses()//现在假定返回结果中包含多个MyCla

一道测试题
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

热点排行