【发布时间】:2016-03-24 14:21:54
【问题描述】:
我想将一个 List(Of Object) 的内容复制到另一个并修改一个值。有没有办法删除引用?
在代码示例中,当我期望“test1 test2”时,我得到了输出“test2 test2”。
Module Module1
Sub Main()
Dim ListOfSample As New List(Of sample)
Dim var1 As New sample
var1.Name = "test"
ListOfSample.Add(var1)
ListOfSample.Add(var1)
Dim NewListOfSample As New List(Of sample)
NewListOfSample.AddRange(ListOfSample)
NewListOfSample(1).Name = "test2"
Console.Write(NewListOfSample(0).Name & " " & NewListOfSample(1).Name)
End Sub
End Module
Public Class sample
Public Name As String
End Class
【问题讨论】:
-
这可能会有所帮助,除非这是同样的问题:http://stackoverflow.com/a/78612/1565525
-
这里的关键是你只有有一个
sample对象,而且你在两个列表中都有两次。因此,您的所有列表条目都引用同一个对象,并且更改一个正在更改那个对象。