// add, will except if Key:Generation already exists public void Add(TKey key, TValue value) { if (!dictionary.ContainsKey(key)) { dictionary[key] = new DictionaryWithFirstLastKey <uint, TValue>(); } dictionary[key].Add(Generation, value); UpdatesAtThisGeneration++; }
// set key to value at this generation public TValue this[TKey key] { set { if (!dictionary.ContainsKey(key)) { dictionary[key] = new DictionaryWithFirstLastKey <uint, TValue>(); } dictionary[key][Generation] = value; UpdatesAtThisGeneration++; } }