public void DeletePosition(int position)
        {
            int count = 1;

            if (position <= Count)
            {
                linkedlistNode <T> temp = Head;
                linkedlistNode <T> hold;
                while (temp != null)
                {
                    if (count == position)
                    {
                        hold      = temp.Next;
                        temp.Next = temp.Next.Next;
                        hold      = null;
                        break;
                    }
                    temp = temp.Next;
                    count++;
                }
            }
            else
            {
                Console.WriteLine("OutOFBound");
            }
        }
        public void printList()
        {
            linkedlistNode <T> node = Head;

            while (node != null)
            {
                Console.WriteLine(node.Value);
                node = node.Next;
            }
        }
        public void removeFirst()
        {
            if (Count != 0)
            {
                Head = Head.Next;
                Count--;

                if (Count == 0)
                {
                    Tail = null;
                }
            }
        }
        public void addFirst(linkedlistNode <T> node)
        {
            linkedlistNode <T> temp = Head;

            Head = node;

            Head.Next = temp;

            Count++;

            if (Count == 1)
            {
                Tail = Head;
            }
        }
        public void addLast(linkedlistNode <T> node)
        {
            if (Count == 0)
            {
                Head = node;
            }

            else
            {
                Tail.Next = node;
            }

            Tail = node;
            Count++;
        }
 public void removeLast()
 {
     if (Count != 0)
     {
         if (Count == 1)
         {
             Head = null;
             Tail = null;
         }
         else
         {
             linkedlistNode <T> current = Head;
             while (current.Next != Tail)
             {
                 current = current.Next;
             }
             current.Next = null;
             Count--;
             Tail = current;
         }
     }
 }
        public void InsertPosition(int position, linkedlistNode <T> node)
        {
            int count = 1;

            if (position <= Count)
            {
                linkedlistNode <T> temp = Head;
                while (temp != null)
                {
                    if (count == position)
                    {
                        node.Next = temp.Next;
                        temp.Next = node;
                        break;
                    }
                    temp = temp.Next;
                    count++;
                }
            }
            else
            {
                Console.WriteLine("OutOFBound");
            }
        }