public void AddValue(T value) { CollectionNode <T> node = new CollectionNode <T>(value); if (tail == null) { head = tail = node; } else { tail = tail.Next = node; } }
public ConcreteCollectionEnumerator(ConcreteCollection <T> owner) { this.owner = owner; this.currentNode = null; }
void IEnumerator.Reset() { currentNode = null; }
public ConcreteCollection() { this.head = null; this.tail = null; }
bool IEnumerator.MoveNext() { currentNode = currentNode != null ? currentNode.Next : owner.Head; return(currentNode != null); }