public class LinkedList<T> :
System.Collections.Generic.ICollection<T>
public LinkedListNode<T> Head
public LinkedListNode<T> Tail
public void AddFirst(T value)
AddFirst(new LinkedListNode<T>(value));
public void AddFirst(LinkedListNode<T> node)
LinkedListNode<T> temp = Head;
public void AddLast(T value)
AddLast(new LinkedListNode<T>(value));
public void AddLast(LinkedListNode<T> node)
public void RemoveFirst()
LinkedListNode<T> current = Head;
while (current.Next != Tail)
public bool Contains(T item)
LinkedListNode<T> current = Head;
if (current.Value.Equals(item))
public void CopyTo(T[] array, int arrayIndex)
LinkedListNode<T> current = Head;
array[arrayIndex++] = current.Value;
public bool Remove(T item)
LinkedListNode<T> previous = null;
LinkedListNode<T> current = Head;
if (current.Value.Equals(item))
previous.Next = current.Next;
if (current.Next == null)
System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerable<T>.GetEnumerator()
LinkedListNode<T> current = Head;
yield return current.Value;
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
return ((System.Collections.Generic.IEnumerable<T>)this).GetEnumerator();