【发布时间】:2012-08-10 19:09:31
【问题描述】:
我读到如果可以估计大小,用初始容量初始化字典可能会带来更好的性能。
Dim MyDataTable As New DataTable
'Fill MyDataTable from Database
Dim CapacityEstimate As integer = MyDataTable.Rows.Count
Dim MyDictionary As New Dictionary(Of String, MyObjectType)(CapacityEstimate)
'Fill the Dictionary independent of data table
CapacityEstimate 变量只是字典应包含的键/值对数量的估计值(通常在 2500 到 7000 的范围内)。因此,如果我估计它是 4000 并最终得到 4010 个对象(我可能会超过或低于,不确定)字典会使用大量内存来调整其中已有的许多键/值对的大小。这是一个好的解决方案还是我最好不要使用初始容量对其进行初始化。谢谢。
【问题讨论】: