社区
C#
帖子详情
请问,这个List集合怎么没有跟着变化呢?
sdf32fde
2012-06-09 09:33:19
listBox20的项是Class1对象
然后,我声明一个变量lis:
List<Class1> lis = listBox20.Items.Cast<Class1>().ToList(); //Cast方法,把Items转换成List集合
当我不定期的listBox20.Items.Add元素的时候,lis为什么没有跟着变化呢?List<T>不是引用类型吗?
...全文
70
3
打赏
收藏
请问,这个List集合怎么没有跟着变化呢?
listBox20的项是Class1对象 然后,我声明一个变量lis: List lis = listBox20.Items.Cast().ToList(); //Cast方法,把Items转换成List集合 当我不定期的listBox20.Items.Add元素的时候,lis为什么没有跟着变化呢?List不是引用类型吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
threenewbee
2012-06-09
打赏
举报
回复
var list = listBox20.Items;
list.Add(...)
bwangel
2012-06-09
打赏
举报
回复
这就好比 string a = listBox20.ToString();
你不能指望 listBox20里添加了东西,a也会跟着变一样的道理吧?
bwangel
2012-06-09
打赏
举报
回复
ToList()生成的List是另一个对象,指向不同的引用。和listBox20完全是两个对象。
【错误解决】
list
变更一个另一个也
跟着
变更的问题
list
变更一个另一个也
跟着
变更的问题问题描述解决 问题描述 使用new
list
等于一个
list
变量,更改任何一个
list
集合
另一个
list
也会随着改变。 不止发生在js ,c#等语言中也存在这种情况。发生这种状况的原因是由于数据的copy问题。大多数都是指针指向了原数组的地址,所以代码表面看是俩,其实动的是一个。 解决 js ,c#可以通过类型转换来解决 //javascript var l...
变量放入
集合
后,修改变量,
集合
里的也
跟着
变?
一个map 的两个key 各赋值了一次,然后把map添加到
List
集合
里 map修改key之后发现
集合
里也
跟着
改动了,我一直以为放进去后就存入另一个区域了,原map改动不能影响他了
根据一个
List
生成另外一个
List
,修改其中一个,导致另外一个
List
也在
变化
2、可以看出来,1个
List
已经通过new关键字,重新生成了一个,但是
List
中包含的SysDic对象是相同的,你修改其中一个,另外一个也会发生
变化
。所以即使复制了
List
也无济于事,需要将
List
中的对象也复制一下才可以互不干扰。第一个对象和第二个对象完全相同,dkey都被改变了。1、两个
List
复制。
声明两个
List
,当其中一个
List
1等于
List
2的时候,当
List
2的值发生
变化
的时候,
List
1也会发生
变化
其输出的结果是 为什么name2的值也发生
变化
了呢? 代码中,name1,name2一开始都是新建了一个对象,所以分配了不同的空间,而当你使用 name2=name1时,这就让name2指向了name1的空间,所以当name1的值发生改变时,name2也发生改变 要想name1的值发生
变化
,name2的值不发生
变化
,可以这样: 如图: ...
细数Java
集合
List
的10个坑
细数Java
集合
List
的10个坑
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章