public bool MoveNext() { if (_currentNode == null) { if (_isReversed) { _currentNode = _currentList.Last; } else { _currentNode = _currentList.First; } return(true); } if (_isReversed) { _currentNode = _currentNode.Previous; } else { _currentNode = _currentNode.Next; } if (_currentNode == null) { return(false); } return(true); }
public void AddAfter(ICustomDoubleLinkedListNode <T> node, T value) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (ReferenceEquals(node, Last)) { AddLast(value); return; } var newNode = createNode(value); newNode.Next = node.Next; node.Next = newNode; newNode.Previous = node; if (newNode.Next != null) { newNode.Next.Previous = newNode; } Count++; }
public void Reset() { _currentNode = null; }
public void Dispose() { _currentList = null; _currentNode = null; }