public void Remove(uint key) { DLinkNode <T> node = null; if (findDic.TryGetValue(key, out node) && node != null) { dLinkList.RemoveNode(node); findDic.Remove(key); node.Reset(); nodePool.Recycle(node); } }
public T Get(uint key) { DLinkNode <T> node = null; if (!findDic.TryGetValue(key, out node) || node == null) { return(null); } T value = node.Value; dLinkList.RemoveNode(node); findDic.Remove(key); node.Reset(); nodePool.Recycle(node); return(value); }