/// <summary> /// Creates a new set entry with the given values. /// </summary> private static SetEntry <TKey> CreateEntry <TKey>(SimpleSet <TKey> Set, TKey key, int hash) { SetEntry <TKey> newEntry; if (Set.EntryPool.Count > 0) { newEntry = Set.EntryPool[Set.EntryPool.Count - 1]; SList.RemoveLast(Set.EntryPool); // remove last for better perfomance } else { newEntry = new SetEntry <TKey>(); } newEntry.Key = key; newEntry.HashCode = hash; return(newEntry); }
/// <summary> /// Creates a new table entry with the given values. /// </summary> private static TableEntry <TKey, TValue> CreateEntry <TKey, TValue>(SimpleTable <TKey, TValue> table, TKey key, TValue value, int hash) { TableEntry <TKey, TValue> newEntry; if (table.EntryPool.Count > 0) { newEntry = table.EntryPool[table.EntryPool.Count - 1]; SList.RemoveLast(table.EntryPool); // remove last for better perfomance } else { newEntry = new TableEntry <TKey, TValue>(); } newEntry.Key = key; newEntry.Value = value; newEntry.HashCode = hash; return(newEntry); }