public override void Put(object Key, object Value) { if (Get(Key) == null) { TimeStamp++; Data.Add(Key, new LRUCacheValueEntry(TimeStamp, Value)); TimeStamps.Add(TimeStamp, Key); if (Data.Count > Capacity) { SortedDictionary <long, object> .Enumerator enumTimeStamps = TimeStamps.GetEnumerator(); enumTimeStamps.MoveNext(); long key = enumTimeStamps.Current.Key; Data.Remove(TimeStamps[key]); TimeStamps.Remove(key); } } }