Search code examples
c#dictionarysorteddictionary

How to set initial capacity to a SortedDictionary?


I'm looking into code optimization of a project of mine and I was wondering how can I set an initial capacity to a SortedDictionary. I know that I can do it to a List and a Dictionary pretty easily in the constructor. But how can I do it to a SortedDictionary?

I thought about doing it like the code below, but I'm not sure if that works and how I could check it, once Dictionary has no capacity property (or has it?).

int capacity = 1000;

SortedDictionary<TKey, TValue> exampleSortedDictionary = new SortedDictionary<TKey, TValue>(new Dictionary<TKey, TValue>(capacity));

Solution

  • You have no need to specify initial capacity for SortedDictionary<K, V>.

    Please note, that Dictionary<K, V> is a hash table that's why the initial capacity (say, 1000 "rows") is quite reasonable. Unlike Dictionary<K, V>, SortedDictionary<K, V> is a red-black tree for which capacity has no meaning.