所以我的代码基本上设置了一个链表。每个故障单对象都存储对另一个故障单对象的引用,或者为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,并且其变量都不是。
,为什么会崩溃答案 0 :(得分:-2)
大家好,非常感谢您的时间!我猜它没有正确构建(不知怎的?)。添加然后删除一些行然后重建/运行它运行正常!对不起,再次感谢!