您的位置:首页 > 编程语言 > C#

C# List<>.Add一个细节

2014-05-11 21:16 501 查看
List<List<int> > IntListList=new List<List<int>>();
List<int> IntList=new List<int>();

for (int i = 0; i < 8; i++)
{
IntList.Add(i);
}
IntListList.Add(IntList);
IntList.Clear();

for (int i = 0; i < 8; i++)
{
IntList.Add(i);
}
IntListList.Add(IntList);
IntList.Clear();
//执行完后IntListList将含有两个长度为0的List<int>,原因就是IntList.Clear(),
//导致添加的都变成空的List<int>
//也就是我们可以理解:IntListList.Add(IntList);只是添加了对IntList的引用,而没有真正的复制里面的元素
//所以我们应该这样做:
List<List<int>> IntListList = new List<List<int>>();
List<int> IntList1 = new List<int>();
List<int> IntList2 = new List<int>();

for (int i = 0; i < 8; i++)
{
IntList1.Add(i);
}
IntListList.Add(IntList1);

for (int i = 0; i < 8; i++)
{
IntList2.Add(i);
}
IntListList.Add(IntList2);




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: