List<> 问题

JJYY0088 2016-04-23 10:32:35

List<string> list1 = new List<string>();
list1.Add("a");
list1.Add("b");

List<string> list2 = new List<string>();
list2 = list1;

list1.Add("c");

Console.WriteLine(list1.Count.ToString() );
Console.WriteLine(list2.Count.ToString());


为什么结果是 3, 3

是根据什么原理得出来的 ???
...全文
184 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2016-04-24
  • 打赏
  • 举报
回复
版主都说了 list是引用类型,=导致list1和list2拥有共同地址,指向内存堆里一个地址,内容一样 楼主查阅下:值类型,引用类型;深复制,浅复制的知识
大鱼> 2016-04-24
  • 打赏
  • 举报
回复
楼上正解!!!
threenewbee 2016-04-23
  • 打赏
  • 举报
回复
因为两个list引用指向一个对象
qq_20077019 2016-04-23
  • 打赏
  • 举报
回复
赋值,把list 2赋值list 1
qq_20077019 2016-04-23
  • 打赏
  • 举报
回复
引用 3 楼 qq_20077019的回复:
赋值,把list 2赋值list 1
不对,看错了,是list 1赋值list 2
  • 打赏
  • 举报
回复
引用类型的赋值(=)是什么意思,你应该再学习一下。
  • 打赏
  • 举报
回复
= new List<string>() 毫无意义,多余的代码。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧