在列表(結構),我一直在使用這個代碼modifiy項財產
Private Sub ChangeState(ByVal ww As WebWorker, _
ByVal NewState As WorkerState)
Dim oWBB As WebWorker = ListWebWorkers.Find(Function(item As WebWorker) item.Browser.Name.ToLower = ww.Browser.Name.ToLower)
If oWBB.Browser IsNot Nothing Then
ListWebWorkers.Remove(oWBB)
oWBB = ww
oWBB.State = NewState
ListWebWorkers.Add(oWBB)
End If
End Sub
到modifiy項目的屬性(結構)列表,但是這個給問題,當兩個或兩個以上的項目調用這個子程序。其中一件物品可能已被刪除。此代碼在UI線程中執行,並且必須是
那麼有沒有更好的方法來修改列表結構中的項目?
謝謝
爲什麼WebWorker是結構而不是類? – 2012-01-07 18:02:18
@ Meta-Knight在課堂上有什麼不同,有什麼優勢? – Smith 2012-01-07 18:32:19
如果WebWorker是一個類,則不需要刪除並再次添加該項目。最好的做法是幾乎總是使用一個類,除非你有一個不可變的數據結構。 – 2012-01-07 19:53:08