复制 T 的列表



我正在使用VS2012,vb.net。

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

list2.Clear()
list2.AddRange(list1)

但是,如果 t 的第一个列表内部有另一个 t2 类型的列表,则上面的代码不起作用。

我能否获得一些帮助,将 t 列表的内容复制到另一个列表,其中 t 列表包含另一个 t2 列表。

谢谢

However, if the first list of t has another list of type t2 inside it, this above code does not work.

确实有效,但它是浅拷贝,而不是深拷贝。

假设您想对List(Of List(Of Integer))进行深度复制。你可以这样做:

Dim list1 As List(Of List(Of Integer))
*Populate list 1*
Dim copy = list1.Select(Function(innerList) innerList.ToList).ToList

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

相关内容

  • 没有找到相关文章

最新更新