我收到NullReferenceException但该对象不为null

时间:2017-02-02 01:17:23

标签: c# nullreferenceexception singly-linked-list

所以我的代码基本上设置了一个链表。每个故障单对象都存储对另一个故障单对象的引用,或者为null。 .getNext()方法获取对列表中下一个对象的引用。 current是表示列表开头的对象,while循环遍历列表更改当前状态,直到条件发生变化。最后,它将当前设置为作为参数传递的Ticket。

public void AddLowPTicket(Ticket ti) // doesnt check if front == null because AddTicket already does
{
    Ticket current = front;
    while(current.getPrio() == Priority.High && current != null) // cycles/skips through the list as long as Priority == High.
    {
        current = current.getNext();
    }
    current.Print(); // *THIS WORKS*
    while(current != null && current.getPrio() == Priority.Low) //  *NullReferenceException: Obj ref not set to an instance of an obj.*
    {
        current = current.getNext();
    }
    current = ti;
}

这是Ticket对象的Print方法。它打印局部变量就好了,这意味着它们不是空的。

public void Print()
{
    Console.WriteLine("{0}\nPriority:{1}", m_description, m_prio == Priority.High ? "High" : "Low");
}

如果current不为null,并且其变量都不是。

,为什么会崩溃

1 个答案:

答案 0 :(得分:-2)

大家好,非常感谢您的时间!我猜它没有正确构建(不知怎的?)。添加然后删除一些行然后重建/运行它运行正常!对不起,再次感谢!