예제 #1
0
        private HashtableLongEntry GetLongEntry(int intKey, long longKey)
        {
            HashtableLongEntry entry = (HashtableLongEntry)_table[intKey & _mask];

            while (entry != null)
            {
                if (entry._key == intKey && entry._longKey == longKey)
                {
                    return(entry);
                }
                entry = (HashtableLongEntry)entry._next;
            }
            return(null);
        }
예제 #2
0
        protected virtual object RemoveLongEntry(int intKey, long longKey)
        {
            HashtableLongEntry entry       = (HashtableLongEntry)_table[intKey & _mask];
            HashtableLongEntry predecessor = null;

            while (entry != null)
            {
                if (entry._key == intKey && entry._longKey == longKey)
                {
                    RemoveEntry(predecessor, entry);
                    return(entry._object);
                }
                predecessor = entry;
                entry       = (HashtableLongEntry)entry._next;
            }
            return(null);
        }
예제 #3
0
        private object GetFromLongEntry(int intKey, long longKey)
        {
            HashtableLongEntry entry = GetLongEntry(intKey, longKey);

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