public void Clear() { MyLinkedListNode <T> current = head; while (current != null) { MyLinkedListNode <T> temp = current; current = current.Next; // use Next the instead of "next", otherwise it will loop forever temp.Invalidate(); } head = null; Count = 0; }
internal void InternalRemoveNode(MyLinkedListNode <T> node) { if (node.next == node) { head = null; } else { node.next.prev = node.prev; node.prev.next = node.next; if (head == node) { head = node.next; } } node.Invalidate(); Count--; }