我拥有共同的字典持有一些位图,我已经定义如下(在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