我有以下類:爲什麼List.Clear()也拋棄了類屬性?
Public Class ID
Private sID as List(Of Integer)
Public property IDlist as List(Of Integer)
Get
Return sID
End Get
Set(ByVal value as List(Of Integer)
sID = value
End Set
End Property
End Class
然後我做的:
Dim objID as ID
Dim myList as List(Of Integer)
for i = 0 to 1
objID = New ID
MyList.add(1)
Mylist.add(2)
ID.IDlist = mylist
mylist.clear
Next
如果我插入代碼檢索ID.IDlist性質的一前mylist.clear它工作正常,兩個迭代。但是,如果我嘗試檢索for循環後的值,我什麼也得不到。
我發現這個代碼可以讓我以後得到ID.IDlist兩個ID對象爲循環:
Dim objID as ID
Dim myList as List(Of Integer)
for i = 0 to 1
objID = New ID
mylist = New List(Of Integer)
MyList.add(1)
Mylist.add(2)
ID.IDlist = mylist
Next
我可能是方式在這裏下車,但它似乎像ID.IDlist點mylist的地址等等,當mylist被清除時,ID.Idlist也是如此。看起來好像第二塊代碼工作的原因是因爲我在內存中爲每個ID對象和ID創建了一個新列表.ID列表只是指向它......是嗎?
任何人都可以確認/解釋?我花了5個小時在這種情況..呃
謝謝你的任何解釋!
你的假設是正確的。 – Ankur