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); }
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); }