Пример #1
0
        private HashtableObjectEntry GetObjectEntry(int intKey, object objectKey)
        {
            HashtableObjectEntry entry = (HashtableObjectEntry)_table[intKey & _mask];

            while (entry != null)
            {
                if (entry._key == intKey && entry.HasKey(objectKey))
                {
                    return(entry);
                }
                entry = (HashtableObjectEntry)entry._next;
            }
            return(null);
        }
Пример #2
0
        protected virtual object RemoveObjectEntry(int intKey, object objectKey)
        {
            HashtableObjectEntry entry       = (HashtableObjectEntry)_table[intKey & _mask];
            HashtableObjectEntry predecessor = null;

            while (entry != null)
            {
                if (entry._key == intKey && entry.HasKey(objectKey))
                {
                    RemoveEntry(predecessor, entry);
                    return(entry._object);
                }
                predecessor = entry;
                entry       = (HashtableObjectEntry)entry._next;
            }
            return(null);
        }
Пример #3
0
        private object GetFromObjectEntry(int intKey, object objectKey)
        {
            HashtableObjectEntry entry = GetObjectEntry(intKey, objectKey);

            return(entry == null ? null : entry._object);
        }