c#关于#LinkList#的问题,如何解决?

public class Obj
{
public string a = "1";
public Obj(string str)
{
a = str;
}
}

    static void Main(string[] args)
    {
        Obj c = new Obj("1");
        Obj c2 = new Obj("2");
        Obj c3 = new Obj("3");
        Obj c4 = new Obj("4");
        Obj c5 = new Obj("5");
        LinkedList<Obj> link = new LinkedList<Obj>();
        link.AddLast(c);
        link.AddLast(c2);
        link.AddLast(c3);
        link.AddLast(c4);
        link.AddLast(c5);
        link.Remove(c3);
        LinkedListNode<Obj> current = link.First;

        {
            Console.WriteLine(c.a);
            current = current.Next;
        } while (current != null) ;

        //while (current != null)
        //{
        //    Console.WriteLine(c.a);
        //    current = current.Next;
        //}

        //foreach(var car in link)
        //{
        //    Console.WriteLine(car.a);
        //}
      
    }
只有第一种遍历方式会卡死,后俩种都可以

不明白为什么会出现这种情况

写少了do

应该是
do{
Console.WriteLine(c.a);
current = current.Next;
} while (current != null) ;