节点不是列表的一部分删除节点后的异常?

时间:2014-04-03 16:07:46

标签: c# visual-studio-2012 linked-list

这是我的代码的简单版本。

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,所以我可以根据需要进行调试时编辑。

0 个答案:

没有答案