说,我有3个列表
List<int> l1
List<int> l1,l2,l3
所有3个列表都有很多项目 我想将所有这些内容添加到单个列表中
List<int> finalList
finalList.AddRange(l1) , similarly for l2 and l3.
在执行finalList.AddRange
时,它是否会复制l1,l2,l3中的项目,还是仅仅引用这些项目?如果它复制我想避免AddRange来节省内存,因为列表很大。
答案 0 :(得分:0)
如果要复制引用而不是数据将整数列表包装成如下所示的类:
public class ItemsList
{
public List<int> ListOfInts {get; set;}
public ItemsList()
{
ListOfInts = new List<int>();
}
}
然后添加如下:
ItemsList l1 = new ItemsList();
l1.ListOfInts = new List<int> { 1, 2, 3, 4, 5, 6 };//or whatever data inside
//same for l2, l3
List<ItemsList> finalList = new List<ItemsList>();
finalList.Add(l1);//Your adding references to ItemsList class
希望这很有用。