private void InternalRemoveNode(DoublyLinkedListNode <T> node) { if (node.Next == null) { Last = node.Previous; } else { node.Next.Previous = node.Previous; } if (node.Previous == null) { First = node.Next; } else { node.Previous.Next = node.Next; } node.Invalidate(); Count--; version++; }
/// <summary> /// 移除指定的节点; /// </summary> public void Remove(DoublyLinkedListNode <T> node) { ValidateNode(node); InternalRemoveNode(node); }