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

求解C#中list.Add()的增添原理

2012-11-20 
求解C#中list.Add()的添加原理比如一个类People,People pnew People()ListPeoplelistsnew ListPeopl

求解C#中list.Add()的添加原理
比如一个类People,
People p=new People();
List<People>lists=new List<People>();
lists.Add(p);
这个时候Lists[0]和p指的是同一个对象吗,改变lists[0],p的值会变吗?list的Add是复制对象副本还是只是一个引用,具体是怎么实现的?

[解决办法]
引用类型 会改变的。
因为他们指向的是同一个对象。可以想象list里面有个数组,存的是添加进去对象的引用。
所以,你更改里面里面的对象,外面的P会改变,相应的,你更改外面p对象,list里面的也会修改。
[解决办法]

探讨
比如一个类People,
People p=new People();
List<People>lists=new List<People>();
lists.Add(p);
这个时候Lists[0]和p指的是同一个对象吗,改变lists[0],p的值会变吗?list的Add是复制对象副本还是只是一个引用,具体是怎么实现的?

[解决办法]
探讨
你可以查看List这个类,里面有一个索引器,目的就是让list用起来有数组的功能,一楼的回答加上2楼的代码可以让你很容易理解

热点排行