我擁有共同的字典持有一些位圖,我已經定義如下(在VB.net):有一個字典對象只能容納幾個項目?
Private m_colImages As New ConcurrentDictionary(Of String, Bitmap)
在此聲明我有一個功能,將項目添加到此集合類如下所示:
Public Function AddImageToCache(ByVal lensID As String, ByVal image As Bitmap) As Boolean
Try
If (m_colImages.TryAdd(lensID, image)) Then
Return True
Else
Return False
End If
Catch ex As Exception
MessageBox.Show("Unexpected exception: " & ex.Message)
Return False
End Try
End Function
我需要做的只是在字典中保存大約4個對象(最近的增加)。所以,如果集合中已經有4個條目並且添加了另外一個條目,我想放棄最舊的條目並將新的條目添加到字典中。但是我不會在添加時存儲時間等,所以不知道如何做到這一點。由於快速鍵/值對查找,我選擇使用字典。我沒有必要對它進行排序,等等。所以不知道我是否應該使用List而不是索引。
任何幫助和代碼段將不勝感激!謝謝。
您有4個項目,你害怕線性搜索將是太慢?你正在研究什麼樣的應用程序?你在做每秒數百萬次查詢嗎? – MarcinJuraszek
@MarcinJuraszek - 我擔心的是應用程序是高度多線程的,一次執行大量的事情。我不想要添加什麼來影響它的性能,也是線程安全的。也許列表仍然可以使用,但我想我會問這裏。 – DataCrypt