参考一个对象神奇地消失了吗?奇怪

时间:2015-06-08 18:27:44

标签: c# multithreading visual-studio-2010

编辑:好的,找到了答案。问题是在构造函数中创建受此bug影响的对象。它应该是原型对象的深层副本,但在一个地方是在数组中复制引用,而不是将整个元素复制到新创建的对象。

在我的C#应用​​程序中,我有一个Parallel.For循环。在这个循环中,我创建了一些对象,并在其上调用了一些方法。每个循环迭代都有它自己的对象,因此一个迭代破坏(某种程度上)对象不会出现问题,因此其他迭代不能使用它。

我有时(在某些非循环的循环中)得到一个异常,告诉我的对象的一个​​字段为空。但是,当我将鼠标悬停在线上时,在Visual Studio C#2010中设置调试器在线上抛出此异常(pic rel)

EnvManager MyEnv = Owner.EnvManager;

调试器说Owner.EnvManager对象是OK(非空)。

但是,在将MyEnv(之前指定的)与null进行比较时,下面的一行是空的!

DEBUGGER在整个时间段内停止运行,我在检查时没有执行程序执行。

只有一个问题:如何?

pic showing the problem

0 个答案:

没有答案