и Tail.Next если должна Tail.Next? Каааак они могут быть связаны? Почему?  
                  
                  
                  
                  
                  
                  public class LinkedList<T> : IEnumerable
                  
                  
                   {
                  
                  
                          public Item<T> Head { get; private set; }
                  
                  
                          public Item<T> Tail { get; private set; }
                  
                  
                  
                  
                  
                          public void Add(T data)
                  
                  
                          {
                  
                  
                              var item = new Item<T>(data);   
                  
                  
                   
                  
                  
                              Tail.Next = item;   
                  
                  
                           }
                  
                  
                  }
                  
                  
                
очевидно, что ты присвоил один и тот же объект в Tail и Head
а это может быть что первая вначале я делал эту операцию? private void SetHeadAndTail(Item<T> item) { Head = item; Tail = item; }
Может в регистре дело?
У тебя же хвост должен обновляться после добавления элемента в конец списка
ну мы в хвосте меняем next и каким то чудом он еще меняется в голове? как?
Вы хотите двухсвязный список ?
Обсуждают сегодня