public bool MoveNext()
 {
     if (curr_el == null)
     {
         curr_el = _head;
     }
     else
     if (curr_el.Equals(_tail))
     {
         return(false);
     }
     else
     {
         curr_el = curr_el.Next;
     }
     return(true);
 }
        public int Count()
        {
            int i = 0;

            if (_head.Equals(_tail))
            {
                return(1);
            }
            CircularLinkedListNode <T> Current = _head;

            do
            {
                i++;
                Current = Current.Next;
            }while (!Current.Equals(_head));

            return(i);
        }
Пример #3
0
 public bool MoveNext()
 {
     if (_enumerator_counter == null)
     {
         _enumerator_counter = _current;
         return(true);
     }
     if (Direction.State == TriggerState.DefaultState)
     {
         _enumerator_counter = _enumerator_counter.Next;
     }
     else
     {
         _enumerator_counter = _enumerator_counter.Previus;
     }
     if (_enumerator_counter.Equals(_current))
     {
         return(false);
     }
     return(true);
 }