在列表(结构),我一直在使用这个代码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