我得到了一个OutOfMemoryException
更早,无法弄清楚它是什么。它根本没有意义。在我的代码中挖掘出来,突然想起某处忘记检查null,在这个特定情况下,它确实是(而且应该是)。在我看来,这不应该导致OutOfMemoryException
,但我当然会修正它。当我这样做时,异常不再出现!C#:为什么我得到一个NullReferenceException的OutOfMemoryException?
所以我再次取消了检查,并研究了我得到更多的异常。原来它有一个InnerException类型NullReferenceException
和堆栈跟踪当然使很多更有意义。
但为什么我得到OutOfMemoryException
?这从未happend到我面前......没有意义的,我...
很乐意给一些背景,但真的不能说太多,而无需上传整个项目,我不能(你不想通过任何方式阅读:p)。但它的发生的具体地点如下:
{
foreach (var exportParameter in exportParameters)
{
// Copy to local
var ep = exportParameter;
// Load stored values from db
...
}
int i = 1;
exportParameters
.OrderBy(ø => ø.Sequence)
.ForEach(ø => { if (!ø.Locked) ø.Sequence = i++; });
}
的修复是代码块之前,把一个if(exportParameters != null)
。 exportParameters
是List<ExportParameter>
,除了在其为null
的失败案例中。
没办法说没有一些额外的上下文。 – 2009-06-10 12:06:13