我需要能夠以任何順序枚舉集合(foreach)並從任何線程添加/刪除項目。我在這裏使用什麼併發收集?
不需要通過索引進行直接訪問。
我使用什麼系列?只是一個列表?如果是這樣,我只需要鎖定添加/刪除,或者我還必須鎖定foreach嗎?
我希望以下操作可在任何線程上使用。
foreach (var item in myCollection)
{
// myCollection can be returned in any order.
}
myCollection.Add(item)
var success = myCollection.Remove(item) // returns false if the item does not exist in myCollection
他意味着元素返回的順序並不重要。 –
你正在使用哪個.NET版本? –
添加了.NET 4.5標記。 – Cheetah