首页 新闻 会员 周边 捐助

关于c#中 list 的问题

0
悬赏园豆:20 [已解决问题] 解决于 2011-06-08 11:39

对于一个list<> 集合 假如我有一个对象 student1  现在我将student1 放入 list<>集合中 那么

是再在内存上创建个 值相等的student1 放入集合中 还是将原本的放入集合中 ???

果果天涯的主页 果果天涯 | 初学一级 | 园豆:16
提问于:2011-06-08 09:59
< >
分享
最佳答案
0

肯定不是再创建一个新的对象,添加的也只是一个引用而已,用List的好处是可以检查类型,可以方便的对数组进行增删元素,它的原理也是一个数组。你可以这样试试:Student stu=new Student(){name="zhangsan"}; List<Student> list=new List<Student>(); list.Add(stu); list[0].name="lisi"; MessageBox.Show(stu.name);看看结果还是不是"zhangsan",如果是则表示不是传递引用,否则表示传递的是引用。

收获园豆:10
决定走下去 | 菜鸟二级 |园豆:215 | 2011-06-08 11:12
打印出来是lisi 说明存放的是引用 这个方法不错
果果天涯 | 园豆:16 (初学一级) | 2011-06-08 11:39
各得十分 谢谢你们
果果天涯 | 园豆:16 (初学一级) | 2011-06-08 11:39
其他回答(1)
0

这个应该是在内存中另创建一个,你可以这样试试,你创建一个student1,然后用集合list.Contains(student1)查找,如果true就是原本的student,反之不是

收获园豆:10
luxingwei | 园豆:265 (菜鸟二级) | 2011-06-08 10:05
我是在做一个网站 有个商标浏览 需要在右边显示浏览记录 所以我在session中保存了浏览过的商标的实体类 这样对性能会有很大影响吗 因为是在session中保存的实体类 如果有影响 用什么保存记录比较好呢 注意 是要保存整个实体类 因为浏览记录显示的有图片 有内容等等
支持(0) 反对(0) 果果天涯 | 园豆:16 (初学一级) | 2011-06-08 10:08
这个影响不大,如果不想session存在的时候手动注销就行.
支持(0) 反对(0) luxingwei | 园豆:265 (菜鸟二级) | 2011-06-08 10:15
我试了下你们方法 返回的是true 说明是一个对象
支持(0) 反对(0) 果果天涯 | 园豆:16 (初学一级) | 2011-06-08 11:36
各得十分 谢谢你们
支持(0) 反对(0) 果果天涯 | 园豆:16 (初学一级) | 2011-06-08 11:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册