这是我的代码的简单版本。
While (node != null && QtyAvailable > 0)
{
int OldQty = node.Value.NeedQty;
If (OldQty > 0)
{
int usedQty = node.Value.AddQTY(QtyAvailable);
}
QtyAvailable -= (OldQty - node.Value.NeedQty);
If (node.Value.NeedQty == 0)
{
MyList.Remove(node);
}
node = node.next;
}
无论如何,我有一个LinkedList(双重链接)与一些基本数据。 我根据需要更新节点,如果使用了节点并且不再需要节点,我会删除节点。但是,每隔一段时间我就会得到一个异常,说明在删除(节点)命令之后,类似于node的内容不属于列表。
我正在使用VS2012,我觉得有趣的是,异常的突出显示行是删除命令之后的行,这是我在2012年看到的许多异常,但并非全部。 这种异常非常罕见,但我认为这个错误不应该是可能的并且是一个错误。 我正在使用VS2012与最新的更新,使用C#制作一个Forms应用程序。在Win 7 64位计算机上编译Debug X86。如果我编译为X64也会发生此错误。我使用x86,所以我可以根据需要进行调试时编辑。