我读到如果可以估计大小,用初始容量初始化字典可能会带来更好的性能。
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 个对象(我可能会超过或低于,不确定)字典会使用大量内存来调整其中已有的许多键/值对的大小。这是一个好的解决方案还是我最好不要使用初始容量对其进行初始化。谢谢。
编辑:相关但不相同 - .NET 通用字典是否应该初始化为容量等于它将包含的项目数?