Vb.net 复制T的列表

Vb.net 复制T的列表,vb.net,list,visual-studio-2012,copy,addrange,Vb.net,List,Visual Studio 2012,Copy,Addrange,我正在使用VS2012,vb.net 如果我有一个类型为t的列表,并且我希望将其复制到另一个列表中,则以下代码有效: list2.Clear() list2.AddRange(list1) 但是,如果t的第一个列表中有另一个t2类型的列表,则上述代码不起作用 请帮我把一个t列表的内容复制到另一个列表中,其中t列表中有另一个t2列表 谢谢 它确实有效,但确实有效 假设您想做一个列表(整数列表的)的深度副本。您可以这样做: Dim list1 As List(Of List(Of Integer)

我正在使用VS2012,vb.net

如果我有一个类型为t的列表,并且我希望将其复制到另一个列表中,则以下代码有效:

list2.Clear()
list2.AddRange(list1)
但是,如果t的第一个列表中有另一个t2类型的列表,则上述代码不起作用

请帮我把一个t列表的内容复制到另一个列表中,其中t列表中有另一个t2列表

谢谢

它确实有效,但确实有效

假设您想做一个
列表(整数列表的)的深度副本
。您可以这样做:

Dim list1 As List(Of List(Of Integer))

*Populate list 1*

Dim copy = list1.Select(Function(innerList) innerList.ToList).ToList

现在您必须使用独立列表,因为您可以使用
ToList
复制每个内部列表,也可以使用
ToList
复制外部列表。请注意,如果在内部列表中有引用类型的对象而不是整数,则还需要克隆每个单独的对象以进行深度复制。

确切的意思是
t的第一个列表中有另一个t2类型的列表
?你能提供一些工作示例代码吗?也许你在找这份名单的详细副本。同意。我认为你的困惑来自于不理解值类型与引用类型以及浅拷贝与深拷贝。然而,如果没有一个明确的例子来说明你的意思,就很难确定。
Dim list1 As List(Of List(Of Integer))

*Populate list 1*

Dim copy = list1.Select(Function(innerList) innerList.ToList).ToList